概观
我将字符串发送到文本到语音服务器,该服务器最多可接受300个字符.由于网络延迟,返回的每个语音段之间可能会有延迟,因此我希望尽可能在最"自然暂停"时打破语音.
每个服务器的请求花了我的钱,所以最好我会送的最长的字符串可能,直到达到最大允许的字符.
这是我目前的实施:
private static final boolean DEBUG = true;
private static final int MAX_UTTERANCE_LENGTH = 298;
private static final int MIN_UTTERANCE_LENGTH = 200;
private static final String FULL_STOP_SPACE = ". ";
private static final String QUESTION_MARK_SPACE = "? ";
private static final String EXCLAMATION_MARK_SPACE = "! ";
private static final String LINE_SEPARATOR = System.getProperty("line.separator");
private static final String COMMA_SPACE = ", ";
private static final String JUST_A_SPACE = " ";
public static ArrayList<String> splitUtteranceNaturalBreaks(String utterance) {
final long …Run Code Online (Sandbox Code Playgroud)