暂停Android MediaPlayer进行合成语音

暂停Android MediaPlayer进行合成语音,android,navigation,media-player,speech-synthesis,Android,Navigation,Media Player,Speech Synthesis,我有一个Android MediaPlayer正在运行,我想在语音合成器开始讲话时暂停(特别是在谷歌导航应用程序给出方向时)。我很确定这是可能的,因为标准音乐播放器似乎有这种行为 我已经(从Stack Overflow Gods)学会了如何在通话中暂停MediaPlayer: 我很惊讶,我还没有找到类似的机制来监听语音合成器中的事件。我想我错过了什么,如果有人能在这里指给我一个链接,甚至提示我答案,我将不胜感激。我找到了这个问题的答案: 导航应用程序使用“通知”流调用音频焦点。我在应用程序中

我有一个Android MediaPlayer正在运行,我想在语音合成器开始讲话时暂停(特别是在谷歌导航应用程序给出方向时)。我很确定这是可能的,因为标准音乐播放器似乎有这种行为

我已经(从Stack Overflow Gods)学会了如何在通话中暂停MediaPlayer:


我很惊讶,我还没有找到类似的机制来监听语音合成器中的事件。我想我错过了什么,如果有人能在这里指给我一个链接,甚至提示我答案,我将不胜感激。

我找到了这个问题的答案:

导航应用程序使用“通知”流调用音频焦点。我在应用程序中请求该流(以及音乐流)的音频焦点。在回调方法中暂停/重新启动播放机以更改音频焦点,您就可以开始了


注意:这不适用于所有合成语音。我试过使用语音合成设置菜单中的测试按钮,但没有触发回调。只有当“竞争”应用程序足够好,能够为适当的流请求音频焦点时,它才起作用。

我找到了这个问题的答案:

导航应用程序使用“通知”流调用音频焦点。我在应用程序中请求该流(以及音乐流)的音频焦点。在回调方法中暂停/重新启动播放机以更改音频焦点,您就可以开始了

注意:这不适用于所有合成语音。我试过使用语音合成设置菜单中的测试按钮,但没有触发回调。只有当“竞争”应用程序足够好,能够为适当的流请求音频焦点时,它才起作用