private class NoisyAudioStreamReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) {
int state = intent.getIntExtra("state", -1);
switch (state) {
case 0:
//拔出耳机
videoView.pause();
Log.d(TAG, "state:"+state);
break;
case 1:
//插耳机自动播放
Log.d(TAG, "state:"+state);
videoView.start();
break;
default:
Log.d(TAG, "未知状态");
break;
}
}
//只监听拔出耳机
if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) {
videoView.pause();
}
}
}
注册广播:
NoisyAudioStreamReceiver noisyAudioStreamReceiver = new NoisyAudioStreamReceiver();
IntentFilter filter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY);
filter.addAction(Intent.ACTION_HEADSET_PLUG);
registerReceiver(noisyAudioStreamReceiver, filter);
转载于:https://my.oschina.net/u/858166/blog/374442