我使用 Intent.ACTION_MEDIA_BUTTON 构建了一个应用程序来控制当前的媒体播放,但一位客户报告说它不能与他们的三星音乐播放器一起使用。有谁知道三星媒体播放器是否不支持媒体按钮,如果支持如何解决?
最佳答案
我没有适合您的解决方案,但我可以确认我的 Samsung Galaxy S/Android 2.1 测试设备上的库存媒体播放器没有响应“切换播放/暂停”(KEYCODE_MEDIA_PLAY_PAUSE) 或“下一首轨道” ' (KEYCODE_MEDIA_NEXT),所以可以肯定它也不会响应其他人。
如果您使用 logcat 跟踪当您使用普通耳机使用内联开关/麦克风“切换播放/暂停”时发生的情况,您可以看到它发送 KEYCODE_HEADSETHOOK,您可以在代码中发送它并且至少会“切换”在股票媒体播放器上播放/暂停”。
但仅此而已。有点垃圾,真的。三星,你好样的!
编辑:经过更多挖掘后,我得到了以下与 Samsung Media Player 一起使用的内容:
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"
这不适用于三星播放器,但可能对某些人有用...
关于android - 使用三星默认媒体播放器的媒体按钮广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6921075/