android mediaSession getPosition()始终返回0

时间:2017-05-01 16:10:42

标签: android android-mediaplayer runnable android-seekbar android-mediasession

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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

您需要使用MediaSessionCompat

中的setState方法更新PlaybackState.Builder中的播放状态对象
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