1

Android 媒体会话播放状态在暂停和播放后不通知位置更新。GetPlaybackPosition() 将返回在暂停播放期间设置的相同位置。有什么线索吗?谢谢。

4

1 回答 1

1

每当您播放/暂停媒体时,您必须通过调用 MediaSession.setPlaybackState(PlaybackState 状态)为当前 MediaSession 设置新的播放状态。因此,当您调用 getPlaybackPosition() 时,它将返回更新后的状态。每当您播放/暂停媒体时,然后通过调用 MediaPlayer.getCurrentPosition() 获取当前位置并将其设置为当前 MediaSession。像这样的东西

PlaybackState state = new PlaybackState.Builder()
                .setState(PlaybackState.STATE_PLAYING,
                        MediaPlayer.getCurrentPosition(), PLAYBACK_SPEED)
                .build();
MediaSession.setPlaybackState(state);
于 2020-06-12T06:57:47.097 回答