【发布时间】:2020-02-10 00:31:15
【问题描述】:
我正在开发媒体播放器。不幸的是,我无法使用 MediaBrowserService 更好地支持通过蓝牙连接的设备。但至少我实现了 MediaSession 类,使用 AVRCP 协议广播播放信息。
当我开始播放时,我的 Wear 手表会自动显示通知,但只有播放/暂停按钮。如果我在耳机或汽车上使用“上一个/下一个”按钮,它可以完美运行。但我在 Android Wear 的通知中没有这些按钮。
是否可以强制手表显示这些按钮?如果我对任何其他球员进行比赛,我的手表上有这些按钮。但不是我自己的播放器。
这是我的代码:
mMediaSession = new MediaSessionCompat(this, "MuzikaServiceMediaSession");
mMediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS);
mMediaSession.setActive(true);
mMediaSession.setCallback(myMediaSessionCallback);
PlaybackStateCompat state = new PlaybackStateCompat.Builder()
.setActions(PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE |
PlaybackStateCompat.ACTION_SKIP_TO_NEXT | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS |
PlaybackStateCompat.ACTION_FAST_FORWARD | PlaybackStateCompat.ACTION_REWIND
)
.setState(PlaybackStateCompat.STATE_STOPPED, 0, 1f)
.build();
mMediaSession.setPlaybackState(state);
谢谢。
【问题讨论】:
-
您能否在构造
PlaybackState/PlaybackStateCompat对象的位置添加代码,特别是在调用setActions()的位置? -
我将代码添加到问题中。
标签: android bluetooth wear-os avrcp mediasession