我有一个具有用户选项的应用程序,可以使用耳机。 这已与较旧的API一起使用(在Samsung S2上经过版本15测试) 我已升级到最新的API(minSdkVersion 21,targetSdkVersion 28) 我已经升级了所有不推荐使用的API。 我将耳塞排队,但从未播放:
初始化代码
mTTS = new TextToSpeech(context, onInitListener);
mParams = new Bundle();
mParams.putLong(TextToSpeech.Engine.KEY_PARAM_STREAM, AudioManager.STREAM_NOTIFICATION);
OnInitListener
int rc;
for (String key: mSounds.keySet()) {
File f = new File(mSounds.get(key));
if (!f.canRead() {
PersistLog.w(TAG, "Can't read earcon:" + f.getAbsolutePath());
} else {
rc = mTTS.addEarcon(key, f);
}
}
mTTS.setOnUtteranceProgressListener(ProgressListener)
有一个键:“测试” ,它指向一个mp3文件。
某些服务代码:
{
int rc;
rc = mTTS.speak("Begin Test", TextToSpeech.QUEUE_ADD, mParams, "Txt");
rc = mTTS.playSilentUtterance(2000, TextToSpeech.QUEUE_ADD, "Delay");
rc = mTTS.playEarcon("test", TextToSpeech.QUEUE_ADD, mParams, "Earcon")
rc = mTTS.speak("End Test", TextToSpeech.QUEUE_ADD, mParams, "Txt");
}
ProgessListener-在onStart和onDone方法上记录消息。
当我逐步执行代码(Samsung S7上的Andoid 8)时,我获得了addEarCon,speek,playSilentUtteracnce和playEarcon函数的所有成功返回代码。 进度侦听器显示“ Txt”,“ Delay”,“ Txt”的处理(开始,停止) 延迟工作正常。但是耳塞没有播放。
有什么想法吗?