显示MediaSession停止按钮与暂停按钮

时间:2015-03-12 23:10:42

标签: android android-5.0-lollipop android-auto

如何在"媒体控制卡"中显示停止按钮与暂停按钮的时间。在Android Auto Media应用程序中播放音频时?

我在PlaybackState对象中设置操作,然后在我的MediaSession对象中设置该操作(这是一个非常简略的示例):

PlaybackState.Builder playbackState = new PlaybackState.Builder();
playbackState.setActions(PlaybackState.ACTION_PAUSE).build();
mMediaSession.setPlaybackState(playbackState);

我意识到动作值对于各种动作组合来说有点掩盖,但无论我放入setActions我得到一个停止按钮。

更新:这似乎是Google的媒体浏览器服务模拟器的一个错误。解决方法是通过选择设置 - >来清除应用的数据。应用 - >媒体浏览器服务模拟器 - >在再次运行应用之前清除数据。我使用的是模拟器版本6.5.81(1593596-030)。我也遇到了在物理Nexus 7上运行模拟器的这个错误。

重现的步骤:

  1. 运行Google的示例应用,环球音乐播放器,点击播放和暂停按钮 出现,正如预期的那样actions |= PlaybackState.ACTION_PAUSE 已在MusicService.getAvailableActions()
  2. 中设置
  3. 将行更改为actions |= PlaybackState.ACTION_STOP, 运行应用程序,点击PLAY,然后出现STOP按钮,如预期的那样。
  4. 将值更改回actions |= PlaybackState.ACTION_PAUSE,运行 应用程序,点击PLAY,然后出现STOP按钮,这是一种意想不到的行为。
  5. 您可以通过调试确认actions包含该位 PAUSE的掩码值,而不是STOP。
  6. 注意:虽然显示方形STOP按钮,但按钮的行为是暂停。

    解决方法:

    1. 清除应用数据:设置 - >应用 - >媒体浏览器服务 模拟器 - >清除数据
    2. 在模拟器中再次运行Universal Music Player应用程序,点击PLAY, 并按预期显示PAUSE按钮。
    3. 更新#2:似乎一旦出现STOP按钮,PAUSE按钮就永远不会再出现,这种解决方法无效。

0 个答案:

没有答案