这里主要实现APP能够控制第三方音乐播放器的播放、暂停、下一首、上一首功能。
RemoteController :这个是官方的音乐控制接口,需要配合 NotificationListenerService 来使用,比较繁琐。测试后发现除了酷狗以外的第三方播放器都能正常控制,可能是酷狗做了什么处理。
AudioManager:这个就最简单了,只需要调用 dispatchMediaKeyEvent 发送 KeyEvent 就能实现。下面是具体实现:
/**
* 播放 暂停
*/
public void playMusicLocal() {
KeyEvent downEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE);
KeyEvent upEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE);
((AudioManager) getSystemService(Context.AUDIO_SERVICE)).dispatchMediaKeyEvent(downEvent);
((AudioManager) getSystemService(Context.AUDIO_SERVICE)).dispatchMediaKeyEvent(upEvent);
}
/**
* 下一曲
*/
public void nextMusicLocal() {
KeyEvent downEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_NEXT);
KeyEvent upEvent = new KeyEvent(KeyEvent.A