天天看點

java音樂播放器暫停_android暫停或停止其他音樂播放器的播放實作代碼

代碼如下:

public static final String PLAYSTATE_CHANGED = "com.android.music.playstatechanged";

public static final String META_CHANGED = "com.android.music.metachanged";

public static final String QUEUE_CHANGED = "com.android.music.queuechanged";

public static final String PLAYBACK_COMPLETE = "com.android.music.playbackcomplete";

public static final String ASYNC_OPEN_COMPLETE = "com.android.music.asyncopencomplete";

public static final String SERVICECMD = "com.android.music.musicservicecommand";

public static final String CMDNAME = "command";

public static final String CMDTOGGLEPAUSE = "togglepause";

public static final String CMDSTOP = "stop";

public static final String CMDPAUSE = "pause";

public static final String CMDPREVIOUS = "previous";

public static final String CMDNEXT = "next";

private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

String cmd = intent.getStringExtra("command");

if (CMDNEXT.equals(cmd) || NEXT_ACTION.equals(action)) {

next(true);

} else if (CMDPREVIOUS.equals(cmd) || PREVIOUS_ACTION.equals(action)) {

prev();

} else if (CMDTOGGLEPAUSE.equals(cmd) || TOGGLEPAUSE_ACTION.equals(action)) {

if (isPlaying()) {

pause();

} else {

play();

}

} else if (CMDPAUSE.equals(cmd) || PAUSE_ACTION.equals(action)) {

pause();

} else if (CMDSTOP.equals(cmd)) {

pause();

seek(0);

} else if (MediaAppWidgetProvider.CMDAPPWIDGETUPDATE.equals(cmd)) {

// Someone asked us to refresh a set of specific widgets, probably

// because they were just added.

int[] appWidgetIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS);

mAppWidgetProvider.performUpdate(MediaPlaybackService.this, appWidgetIds);

}

}

};

通過分析可以得出要暫停音樂可以有兩種方法,一種是直接發送cmd,另外一種是發送action。

如下暫停音樂播放代碼:

private void pauseMusic() {

Intent freshIntent = new Intent();

freshIntent.setAction("com.android.music.musicservicecommand.pause");

freshIntent.putExtra("command", "pause");

sendBroadcast(freshIntent);

}