我使用此代码暂停音乐播放器,它暂停默认音乐播放器,但如果安装其他音乐播放器,则不工作。例如poweramp、realplayer等
下面是我用来暂停音乐的代码:-
AudioManager mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);
if (mAudioManager.isMusicActive())
{
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "pause");
ListenAndSleep.this.sendBroadcast(i);
}
发布于 2014-02-07 17:08:57
简单地使用媒体按钮不是更容易吗?大多数,如果不是全部的话,球员应该处理这些。
private static void sendMediaButton(Context context, int keyCode) {
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
context.sendOrderedBroadcast(intent, null);
keyEvent = new KeyEvent(KeyEvent.ACTION_UP, keyCode);
intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
context.sendOrderedBroadcast(intent, null);
}
然后你可以使用:
sendMediaButton(getApplicationContext(), KeyEvent.KEYCODE_MEDIA_PAUSE);
您还可以发送一个停止键事件。下面是与相关密钥的链接,PAUSE
发布于 2015-06-12 11:01:55
public static void pauseMusic() {
KeyEvent ke = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PAUSE);
Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
// construct a PendingIntent for the media button and unregister it
Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
PendingIntent pi = PendingIntent.getBroadcast(AppContext.getContext(),
0/*requestCode, ignored*/, mediaButtonIntent, 0/*flags*/);
intent.putExtra(Intent.EXTRA_KEY_EVENT, ke);
sendKeyEvent(pi, AppContext.getContext(), intent);
ke = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_PAUSE);
intent.putExtra(Intent.EXTRA_KEY_EVENT, ke);
sendKeyEvent(pi, AppContext.getContext(), intent);
// android.intent.action.MEDIA_BUTTON
}
private static void sendKeyEvent(PendingIntent pi, Context context, Intent intent) {
try {
pi.send(context, 0, intent);
} catch (PendingIntent.CanceledException e) {
Log.e(TAG, "Error sending media key down event:", e);
}
}
https://stackoverflow.com/questions/21633495
复制相似问题