【发布时间】:2011-08-03 02:39:15
【问题描述】:
我使用 Intent.ACTION_MEDIA_BUTTON 构建了一个应用来控制当前的媒体播放,但一位客户报告说它不能与他们的三星音乐播放器一起使用。有谁知道三星媒体播放器是否不支持媒体按钮,如果支持如何解决?
【问题讨论】:
标签: android android-music-player android-mediaplayer
我使用 Intent.ACTION_MEDIA_BUTTON 构建了一个应用来控制当前的媒体播放,但一位客户报告说它不能与他们的三星音乐播放器一起使用。有谁知道三星媒体播放器是否不支持媒体按钮,如果支持如何解决?
【问题讨论】:
标签: android android-music-player android-mediaplayer
我没有适合您的解决方案,但我可以确认我的三星 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"
这不适用于三星播放器,但可能对某人有用...
【讨论】: