我正在使用谷歌的非官方 tts api 创建一个 TTS 应用程序,它工作正常,但 api 一次最多只能处理 100 个字符,但我的应用程序可能必须发送包含多达 300 个字符的字符串。
这是我的代码
try {
String text = "bonjour comment allez-vous faire";
text=text.replace(" ", "%20");
String oLanguage="fr";
MediaPlayer player = new MediaPlayer();
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.setDataSource("http://translate.google.com/translate_tts?tl=" + oLanguage + "&q=" + text);
player.prepare();
player.start();
} catch (Exception e) {
// TODO: handle exception
}
所以我的问题是
如何让它检查字符串中的字符数并仅发送 100 个字符限制内的完整单词。
如何检测第一组 TTS 何时完成,以便我可以发送第二组以避免两个语音相互重叠
我是否需要在此过程中使用 Asynctask?