2012-09-14 3 views
0

j'enregistrer un récepteur de radiodiffusion pour recevoir le « com.android.music.playstatechanged » et « com.android.music.musicservicecommand »Pourquoi ne peut-il pas recevoir "com.android.music.musicservicecommand"?

public void registerMusicServiceCommandReceiver() { 
     if (mMusicCommandListener == null) { 
       mMusicCommandListener = new BroadcastReceiver() { 
         @Override 
         public void onReceive(Context context, Intent intent) { 
           String action = intent.getAction(); 

           if (action.equals("com.android.music.playstatechanged")) { 
             Log.d(TAG, "Music play state changed"); 
           } 
           if (action.equals("com.android.music.musicservicecommand")) { 
             String cmd = intent.getStringExtra("command"); 
             Log.d(TAG, "Music Service command : "+cmd+ " received"); 
             if (cmd != null && cmd.equals("play")) { 
               Log.d(TAG, "received music service cmd, play"); 
             } 
             if (cmd != null && cmd.equals("pause")) { 
               Log.d(TAG, "received music service cmd, pause"); 
             } 
           } 
         } 
       }; 
       IntentFilter commandFilter = new IntentFilter(); 
       commandFilter.addAction("com.android.music.musicservicecommand"); 
       commandFilter.addAction("com.android.music.playstatechanged"); 
       registerReceiver(mMusicCommandListener, commandFilter); 
     } 
} 

, mais je ne peux reçu « com.android.music.playstatechanged » , ne peut pas recevoir "com.android.music.musicservicecommand", quelqu'un peut-il donner une explication? Merci d'avance.

Répondre

0

essayer cette

private void openVideo() { 
    if (mUri == null || mSurfaceHolder == null) 
     return; 

    Intent i = new Intent("com.android.music.musicservicecommand"); 
    i.putExtra("command", "pause"); 
    mContext.sendBroadcast(i); 

    release(false); 
    try { 
     mDuration = -1; 
     mCurrentBufferPercentage = 0; 
     mMediaPlayer = new MediaPlayer(mContext); 
     mMediaPlayer.setOnPreparedListener(mPreparedListener); 
     mMediaPlayer.setOnVideoSizeChangedListener(mSizeChangedListener); 
     mMediaPlayer.setOnCompletionListener(mCompletionListener); 
     mMediaPlayer.setOnErrorListener(mErrorListener); 
        mMediaPlayer.setOnBufferingUpdateListener(mBufferingUpdateListener); 

     mMediaPlayer.setOnInfoListener(mInfoListener); 
     mMediaPlayer.setOnSeekCompleteListener(mSeekCompleteListener); 
     mMediaPlayer.setOnSubtitleUpdateListener(mSubtitleUpdateListener); 
     mMediaPlayer.setDataSource(mContext, mUri); 
     mMediaPlayer.setDisplay(mSurfaceHolder); 
     mMediaPlayer.setScreenOnWhilePlaying(true); 
     mMediaPlayer.prepareAsync(); 
     mCurrentState = STATE_PREPARING; 
     attachMediaController(); 
    } catch (IOException ex) { 
     Log.e("Unable to open content: " + mUri, ex); 
     mCurrentState = STATE_ERROR; 
     mTargetState = STATE_ERROR; 
     mErrorListener.onError(mMediaPlayer, 
        MediaPlayer.MEDIA_ERROR_UNKNOWN, 0); 
     return; 
    } catch (IllegalArgumentException ex) { 
     Log.e("Unable to open content: " + mUri, ex); 
     mCurrentState = STATE_ERROR; 
     mTargetState = STATE_ERROR; 
     mErrorListener.onError(mMediaPlayer, 
        MediaPlayer.MEDIA_ERROR_UNKNOWN, 0);     
     return; 
    } 
} 
Questions connexes