我正在使用Android TTS来发短信。讲话是在服务上完成的。我正在使用TTS..speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
我的speak()函数在间隔期间被调用多次。因为它是一种服务,所以在调用speak()时可能正在播放其他声音。
我想知道如何沉默'在我的文字发言时,那些其他的声音。
答案 0 :(得分:1)
您需要搜索的术语是“音频躲闪”。它不是一个明显的,所以你可以原谅没有找到任何其他搜索条件的解决方案!
查看建议的方法来处理此in the tutorial here。
我假设您只想降低任何其他媒体音量,以便可以听到语音=躲避。
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
或者,您可以请求其他应用程序静音任何媒体,直到您调用onUtteranceCompleted并释放音频焦点。但要注意,如果其他应用程序没有正确处理丢失和获得焦点,他们的媒体将无法重启,您的用户可能会感到烦恼......