这两个都要输出声音,混在一起就是噪音了。
音乐播放器几乎都可在后台播放,假定媒体播放器也可在后台运行。
如果音乐播放器已经在后台出声了,媒体播放器又开始(只说播视频文件),如何做到让音乐播放器暂停或静音。
反过来也是,媒体播放器在后台了(这时只出声音不出图),又启动音乐播放器开播,如何让媒体播放暂停或静音。
系统有没有提供统一的方法来调度?还是这两个播放器之间要用私有消息?假如这两个播放器是分别两家做的,是否就无法协调了?求方法。
音乐播放器几乎都可在后台播放,假定媒体播放器也可在后台运行。
如果音乐播放器已经在后台出声了,媒体播放器又开始(只说播视频文件),如何做到让音乐播放器暂停或静音。
反过来也是,媒体播放器在后台了(这时只出声音不出图),又启动音乐播放器开播,如何让媒体播放暂停或静音。
系统有没有提供统一的方法来调度?还是这两个播放器之间要用私有消息?假如这两个播放器是分别两家做的,是否就无法协调了?求方法。
public static final String TOGGLEPAUSE_ACTION = "com.android.music.musicservicecommand.togglepause";
public static final String PAUSE_ACTION = "com.android.music.musicservicecommand.pause";
public static final String PREVIOUS_ACTION = "com.android.music.musicservicecommand.previous";
public static final String NEXT_ACTION = "com.android.music.musicservicecommand.next";
我想别的第三方公司在开发音乐播放器的时候,也应该会监听这几个广播。
看来google没有强制规定所有弄出声音的应用都必须要满足一个规范,而常用的播放器大多是独立的第三方的,似乎都不去考虑声音的重叠,只管自己播。
不需要互斥的一个典型的例子就是后台音乐播放,而前台游戏时不时有点声音冒出来。
在视频输出资源(屏幕!)的共享方面,google和各家os都考虑得很深透,对音频输出资源(喇叭)的共享却是没有规则啊。另外,回复2楼:
思考了一下,如果用onpause,home操作可能会弄得本该继续播放的音乐被停止掉,会不会呢?。谢谢两位的回复。
其它做过类似要求声音互斥的,还有没有更多的思路可供学习呢?
楼上能否简要介绍下AudioFocus的原理,谢谢。