【问题标题】:Android Widget: skip_to_next and skip_to_previous buttons don't workAndroid 小部件:skip_to_next 和 skip_to_previous 按钮不起作用
【发布时间】: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


【解决方案1】:

我不确定这是否是完整的解决方案,但似乎没有注册上一个和下一个按钮?

我之前并没有真正使用过MediaButtonReceiver,所以我猜,但是我在PlayBackUtils 中添加了ACTION_SKIP_TO_PREVIOUS 到getPlaybackStateFromPlayerState,现在代码确实接收到上一个事件并且实际上更改为上一个轨道也是。

case STARTED:
    return stateBuilder
        .setState(PlaybackStateCompat.STATE_PLAYING, 
            currentPosition, playbackSpeed)
        .setActions(PlaybackStateCompat.ACTION_PAUSE | 
            PlaybackStateCompat.ACTION_PLAY_PAUSE | 
            PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS |
            PlaybackStateCompat.ACTION_STOP | 
            PlaybackStateCompat.ACTION_SEEK_TO | 
            PlaybackStateCompat.ACTION_PLAY)
        .build();

【讨论】:

    猜你喜欢
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多