需求: 在自己的APP上面,可以操控第三方播放器或者系统音乐播放器,实现可以:播放、暂停、上一首、下一首功能
public static finalStringSERVICECMD="com.android.music.musicservicecommand";
public static finalStringCMDNAME="command";
实现:(通过发送系统的Action,在播放器收到这个Action的时候会实现 播放、暂停、上一首、下一首)
播放:
Intent intent = new Intent(SERVICECMD);
intent.putExtra(CMDNAME, "play");
sendBroadcast(intent);
下一首 :
Intent freshIntent = new Intent();
freshIntent.setAction(SERVICECMD);
freshIntent.putExtra(CMDNAME, "next");
sendBroadcast(freshIntent);
上一首:
Intent freshIntent02 = new Intent();
freshIntent02.setAction(SERVICECMD);
freshIntent02.putExtra(CMDNAME, "previous");
sendBroadcast(freshIntent02);
暂停:
Intent intent04 = new Intent(SERVICECMD);
intent04.putExtra(CMDNAME, "stop");
sendBroadcast(intent04);
调整系统媒体音量:
AudioManager mAudioManager;
//初始化音频管理器
mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
//获取系统最大音量
int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
// 获取设备当前音量
int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
// 设置seekbar的最大值
vol_seekbar.setMax(maxVolume);
// 显示音量
vol_seekbar.setProgress(currentVolume);
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0); //progress:音量绝对值
说明: 基本只针对系统原生的播放器,像魅族,小米啊, 这些系统的播放器是实现不了, 因为:他们删除了安卓原生系统的音乐播放器,系统里面的音乐播放器是自己做的, 广播里的Action都已经是修改过的,所以系统的Action是不会有效果的, 暂时只发现,安卓原生系统的,oppo的 是可以的