Mou*_*usa 2 android text-to-speech
我有一部 Android 2.3 的 HD Desire 手机。
TTS 运行良好,它可以朗读我给出的每一条文字。但是,当我使用下面的任何一行来为某些文本设置我自己的声音时,它只是忽略它并合成文本,就像该行没有写一样!
tts.addSpeech("salam", "/sdcard/salam.wav");
tts.addSpeech("shalam", "com.company.appname", R.raw.shalam);
...
tts.speak("salam", TextToSpeech.QUEUE_FLUSH, null); //<--This isn't playing my voice file.
tts.speak("shalam", TextToSpeech.QUEUE_FLUSH, null); //<--Neither is this
Run Code Online (Sandbox Code Playgroud)
我确信这两个文件都存在。这是为什么?声音文件有限制吗?例如他们的频率,或者是单声道还是立体声?
我已经检查过文档并没有看到任何相关内容。
好吧,我发现了我的问题,非常愚蠢的情况浪费了我几个小时!如果有人犯了我的错误,我希望这会有所帮助。
我们应该推迟文本映射到 TTS 成功初始化的时间点,例如在onInit函数中:
@Override
public void onInit(int status) {
if(status == TextToSpeech.SUCCESS)
{
tts.setLanguage(Locale.US);
mapVoices();
}
else
...
}
private void mapVoices()
{
tts.addSpeech("salam", "/sdcard/salam.wav");
tts.addSpeech("shalam", "com.company.appname", R.raw.shalam);
//...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |