【发布时间】:2018-07-16 17:14:27
【问题描述】:
我目前正在尝试为音频应用开发小部件。该小部件包括跳到上一个、播放和跳到下一个按钮,如下图所示。
我已经关注了这个recommended approach 并且play_pause 按钮可以正常工作,但目前仅在播放开始的情况下。
要开始播放,用户必须 1) 打开应用程序。 2) 选择一个 播客。 3) 选择要播放的剧集。 4)等待缓冲到 完成
只需将正确的 PendingIntent 设置为 play_pause 按钮即可。因此,当单击此按钮时,我的 MediaSession.Callback.onPlay() 方法将被调用。
很遗憾,skip_to_next 和 skip_to_previous 按钮并非如此。我希望在单击skip_to_next 小部件按钮时调用MediaSession.Callback.onSkipToNext()。
这是我的AppWidgetProvider 课程和MediaBrowserService。
【问题讨论】:
-
有效吗?看起来有一个小错误:“PendingIntent nextPendingIntent = MediaButtonReceiver.buildMediaButtonPendingIntent(context, PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS); setTransportControlOnClickListeners”。应该是 ACTION_SKIP_TO_NEXT?
-
我修复了这个错误,但这不是问题所在。问题是没有触发 MediaSession.Callback.onSkipeToNext() 或 MediaSession.Callback.onSkipeToPrevious()。
-
好的,我来看看...
-
我最终做了一个 Ctrl-Shift-F 来查看 ACTION_PLAY_PAUSE 是如何使用的,因为它起作用了,然后又为 ACTION_SKIP_TO_PREVIOUS 做了同样的事情。 Android Studio IDE 有一个非常干净的界面,用于浏览多个文件中的字符串...
-
啊,好吧,我在代码中看到了前台位,但是在播放音乐时没有任何前台通知。有机会我会去看看。干杯。
标签: android widget media playback mediabrowserservicecompat