1

我正在为我的 android 应用程序实现文本到语音功能。我知道 Text to Speech 将使用 STREAM_MUSIC 作为默认流。当我调用文本到语音时,它正在以预期的音量说话。但我想知道,当我调用 Text to Speech 时,如果设备中有任何正在进行的呼叫会导致我的语音音量低。我不明白它是如何发生的。电话将用户 AudioManager.STREAM_VOICE_CALL。它会影响 AudioManager.STREAM_MUSIC 音量吗?

即使电话中有任何正在进行的通话,我也想以默认音量播放我的演讲。

请任何人都可以指导我了解这些 AudioManager 流,它们会影响哪些以及如何影响。

这是我的文本到语音调用方法

 private void speakMessage(String audibleString){
            tTts.speak(audibleString, TextToSpeech.QUEUE_ADD, null);
    }

提前致谢

4

1 回答 1

0

您正在经历的称为音频闪避当另一个音频源获得焦点(类似于视图如何获得焦点)时,它是由操作系统(或有时是另一个应用程序)自动执行的操作。一次只能有一个音频源具有焦点。当另一个音频源获得焦点时,当前音频源可能会被闪避(安静)、暂停或单独放置。您可以使用requestAudioFocus()AudioManager来请求STREAM_MUSIC获得焦点。

编辑:关于音频焦点的附加信息。

于 2015-05-30T12:29:24.980 回答