Как сделать паузу в MediaPlayer при нажатии кнопок наушников? - PullRequest
0 голосов
/ 05 января 2012

Я использую медиаплеер и пытаюсь поставить его на паузу / запустить. Но приемник трансляции вызывается повторно, когда я запускаю кнопку наушника. Я использую приведенный ниже код.Кто-нибудь может мне помочь.

РЕДАКТИРОВАТЬ:

Я инициализировал приемник, как это. В моем коде что-то не так

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();
    }
}

1 Ответ

0 голосов
/ 20 января 2012

Вы регистрируете свой широковещательный приемник в манифесте

Затем вы регистрируете свой широковещательный приемник, используя:

AudioManager # registerMediaButtonEventReceiver

Аргумент для registerMediaButtonEventReceiver является ComponentName, который указывает вашприемник вещания.

...