如何按耳机按钮时暂停MediaPlayer?
问题描述:
我正在实现媒体播放器,并尝试暂停/启动播放器。但是当我开始耳机按钮按下时,广播接收器会重复调用。我正在使用下面的代码。有谁能够帮助我。如何按耳机按钮时暂停MediaPlayer?
编辑:
我已经初始化接收器像this.any事错在我的代码
MediaButtonIntentReceiver mMediaButtonReceiver = new MediaButtonIntentReceiver();
IntentFilter mediaFilter = new IntentFilter(
Intent.ACTION_MEDIA_BUTTON);
mediaFilter.setPriority(100000);
registerReceiver(mMediaButtonReceiver, mediaFilter);
我的广播接收器:
public class MediaButtonIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String intentAction = intent.getAction();
if (!Intent.ACTION_MEDIA_BUTTON.equals(intentAction)) {
return;
}
KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (event == null) {
return;
}
int action = event.getAction();
if (action == KeyEvent.ACTION_DOWN) {
if(AudioPlayer.player!=null)
{
if(AudioPlayer.player.isPlaying())
AudioPlayer.player.pause();
else
AudioPlayer.player.start();
}
}
abortBroadcast();
}
}
答
您注册广播收货清单中的收货人
然后,使用注册您的广播接收器:
AudioManager#registerMediaButtonEventReceiver
到registerMediaButtonEventReceiver的参数是指向你的广播接收机组件名称。
请说明为什么你放弃投票this.I必须改善我的问题,以获得更好的答案。 – 2012-01-05 11:19:48
你是什么意思,它被反复调用?您的代码是否与您链接的示例中显示的代码完全相同?你记得要过滤意图吗? – Cheesebaron 2012-01-05 11:25:25