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

标签 android android-music-player android-mediaplayer

我使用 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/

相关文章:

android - 使用 android 音乐播放器的phonegap 将音乐文件保存在存储卡上

android - 如何获取音频流的持续时间并从任何点继续音频流

android - RelativeLayout 中的另一个中心 View

javascript - "javascript:function()"是一个 URL 吗?

java - 在 RecyclerView 中单击 Collection 夹项目时出现问题

android - 具有自己的 JSON 和 Youtube 音频库的通用音乐播放器

android - 请为android中的本地数据库推荐任何库

java - 无法恢复 Android 默认音乐播放器

android - 连续播放声音 onTouch()

java - 如何从不同的 Activity 更改媒体播放器