android mediaSession getPosition() 总是 returns 0

android mediaSession getPosition() always returns 0

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

getSupportMediaController().getPlaybackState().getPosition();

它 returns 0 如果媒体正在播放,如果它暂停它 returns -1。我搜索了很多没有成功的解决方案,我尝试了所有方法。

顺便说一句,我将上面的代码放在一个运行器中,这样它每 1 秒执行一次。

PlaybackStateCompat 只是一个包装器对象,用于通过 MediaplayExoplayer(无论您使用什么)

获取播放信息

您需要使用 PlaybackState.Builder

中的 setState 方法更新 MediaSessionCompat 中的播放状态对象
setState

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

setPlaybackState

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