2014-11-25 26 views
0

我正在使用Android TTS說出文字。講話是在一項服務上完成的。我正在使用TTS..speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);我的speak()函數被間隔幾次調用。因爲它是一項服務,所以在speak()被調用時,其他聲音可能會播放。Android TexttoSpeech覆蓋其他聲音

我想知道如何在我的文字被說出的同時「沉默」其他聲音。

回答

0

您需要搜索的詞是'audio ducking'。這不是一個明顯的,所以你可以原諒沒有找到任何解決方案與其他搜索條件!

查看建議的方式來處理這個in the tutorial here

我假設您只想降低任何其他媒體音量,以便可以聽到語音=低音。

AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK

或者,您可以請求其他應用程序的沉默任何媒體,直到你onUtteranceCompleted叫你鬆開音頻焦點。但要小心,如果其他應用程序沒有正確處理丟失和獲得焦點,他們的媒體將不會重新啓動,並且您的用戶可能會感到惱火......