android mediaSession getPosition() 总是返回 0

fah*_*wam 2 android runnable android-mediaplayer android-seekbar android-mediasession

我正在尝试获取当前位置,以便我可以在我的媒体播放器应用程序中推进搜索栏。但是,每次我打电话:

getSupportMediaController().getPlaybackState().getPosition();
Run Code Online (Sandbox Code Playgroud)

如果媒体正在播放,则返回 0,如果媒体暂停,则返回 -1。我搜索了很多没有成功的解决方案,我尝试了一切。

顺便说一下,我将上面的代码放在一个 runner 中,以便它每 1 秒执行一次。

pan*_*s27 5

PlaybackStateCompat只是一个包装对象,用于通过您的MediaplayExoplayer(无论您使用什么)获取播放信息

您需要MediaSessionCompat使用 setState 方法更新播放状态对象PlaybackState.Builder

setState
Run Code Online (Sandbox Code Playgroud)

https://developer.android.com/reference/android/support/v4/media/session/PlaybackStateCompat.Builder.html#setState

setPlaybackState
Run Code Online (Sandbox Code Playgroud)

https://developer.android.com/reference/android/support/v4/media/session/MediaSessionCompat.html#setPlaybackState