首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在android中暂停不同的音乐播放器?

如何在android中暂停不同的音乐播放器?
EN

Stack Overflow用户
提问于 2014-02-07 16:55:57
回答 2查看 3.5K关注 0票数 4

我使用此代码暂停音乐播放器,它暂停默认音乐播放器,但如果安装其他音乐播放器,则不工作。例如poweramp、realplayer等

下面是我用来暂停音乐的代码:-

代码语言:javascript
运行
复制
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);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-07 17:08:57

简单地使用媒体按钮不是更容易吗?大多数,如果不是全部的话,球员应该处理这些。

代码语言:javascript
运行
复制
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);
}

然后你可以使用:

代码语言:javascript
运行
复制
sendMediaButton(getApplicationContext(), KeyEvent.KEYCODE_MEDIA_PAUSE);

您还可以发送一个停止键事件。下面是与相关密钥的链接,PAUSE

票数 8
EN

Stack Overflow用户

发布于 2015-06-12 11:01:55

代码语言:javascript
运行
复制
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);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21633495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档