我正在写一个使用'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