使用三星默认媒体播放器的媒体按钮广播

时间:2011-08-03 02:39:16

标签: android android-music-player android-mediaplayer

我使用Intent.ACTION_MEDIA_BUTTON构建了一个应用程序来控制当前的媒体播放,但是一位客户报告说它没有使用他们的三星音乐播放器。有谁知道三星媒体播放器是否不支持媒体按钮,如果有,如何解决?

1 个答案:

答案 0 :(得分:1)

我没有适合你的解决方案,但我可以确认我的三星Galaxy S / Android 2.1测试设备上的股票媒体播放器没有响应'切换播放/暂停'(KEYCODE_MEDIA_PLAY_PAUSE)或'下一曲目'(KEYCODE_MEDIA_NEXT),所以这是一个公平的赌注,它也不会回应其他人。

如果您使用logcat来关注当您使用股票耳机使用内联开关/麦克风“切换播放/暂停”时会发生什么,您可以看到它发送KEYCODE_HEADSETHOOK,您可以通过代码发送它至少'切换在股票媒体播放器上播放/暂停。

但就是这样。有点垃圾,真的。你好,三星!

编辑:经过一番挖掘后,我得到了以下三星媒体播放器:

Intent musicIntent = new Intent();
musicIntent.setAction("com.sec.android.app.music.musicservicecommand.togglepause");
sendBroadcast(musicIntent);

Intent musicIntent = new Intent();
musicIntent.setAction("com.sec.android.app.music.musicservicecommand.next");
sendBroadcast(musicIntent);

我很想知道这是多么普遍适用 - 对我来说似乎有点脆弱......

最后,沿着我找到的相同行(将musicIntent.setAction()替换为:)

musicIntent.setAction("com.android.music.musicservicecommand.next");
musicIntent.putExtra("command", "next"); // or "next" or "previous"

这对三星播放器不起作用,但对某人可能有用......