我正在写一个使用'MediaPlayer'类播放音乐的ap。

我想为用户提供在Google地图(或其他地图)上的卫星导航语音交谈时应该发生的情况的选项,例如暂时将播放音轨静音。

如何通知我的应用此类事件?例如。通过回调还是Intent?我什么都没找到,有可能吗?

最佳答案

可能吗


可能不会。

黛安·哈克伯恩(Dianne Hackborn)说:


  该平台需要具有更丰富的功能来确定要播放的音频
  在不同的时间做。我不认为让地图发送广播是
  确实是一个很好的解决方案,并且可能很快会变得一团糟
  为了每一个。


针对以下问题:


  Google Maps Broadcast Event开始提供可听见的导航说明
  停下来


您可以在此处阅读简短的主题:Link

再说一次,该线程已有4年以上的历史了。



回应您的评论:

您可以使用AudioManager.OnAudioFocusChangeListener来侦听另一个应用程序(在这种情况下为Google地图)何时请求音频焦点。检查focusChange == AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK ==>是否降低您的播放音量,以便让卫星语音==>让步,否则focusChange == AUDIOFOCUS_GAIN ==>是否将音量提高到正常水平。您可以在这里阅读更多有关focusChange常量的信息:AudioManager。我还建议您通读以下内容:Link

07-27 13:28