Android媒体会话的播放状态在暂停播放后不会通知位置更新。在其余的播放过程中,GetPlaybackPosition()返回在“暂停”处设置的相同位置。有什么线索吗?谢谢。
您必须在播放/暂停媒体时通过调用MediaSession.setPlaybackState(PlaybackState状态)来为当前MediaSession设置新的Playback状态。因此,当您调用getPlaybackPosition()时,它将返回更新的状态。每当播放/暂停Media时,都可以通过调用MediaPlayer.getCurrentPosition()来获取当前位置,并将其设置为当前MediaSession。像这样的东西
PlaybackState state = new PlaybackState.Builder()
.setState(PlaybackState.STATE_PLAYING,
MediaPlayer.getCurrentPosition(), PLAYBACK_SPEED)
.build();
MediaSession.setPlaybackState(state);