1

在API 23 PlaybackParams已添加用于MediaPlayer支持。Android:可变速API的视频23

有没有人有setSpeed方法在PlaybackParams有任何运气?我试图减缓对MediaPlayer的视频,并得到一个100错误(MEDIA_ERROR_SERVER_DIED):

参考文献:

+0

你肯定改变播放速度是造成这个?我不确定本地媒体播放器如何处理播放速度。如果媒体播放器将播放速度作为标题发送到服务器并使其崩溃,则服务器不支持可变播放速度。尝试将其缓存至100%,关闭连接并尝试更改播放速度以确保只在本地完成。 –

+0

我怀疑'setSpeed'是以某种方式操纵我的服务器,因为我已经尝试了一个本地文件,以为它是由于连接问题。即使使用本地视频文件,我也会得到相同的错误。 (还是)感谢你的建议。 –

+0

你用本地文件得到什么? –

回答

1
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      //Log.d(TAG, "onPrepared Start: " + mPlaybackState + " LeanbackPlaybackState:" + LeanbackPlaybackState.PLAYING); 
      if (mPlaybackState == LeanbackPlaybackState.FastForward) { 
       mp.setPlaybackParams(new PlaybackParams().setSpeed(3.0f)); 
       mVideoView.start(); 
       Log.d(TAG, "onPrepared: if " + mPlaybackState + " LeanbackPlaybackState:" + LeanbackPlaybackState.FastForward); 
      } 
      else 
      if (mPlaybackState == LeanbackPlaybackState.PLAYING){ 
       mp.setPlaybackParams(new PlaybackParams().setSpeed(1.0f)); 
       mVideoView.start(); 
       Log.d(TAG, "onPrepared: else " + mPlaybackState + " LeanbackPlaybackState:" +LeanbackPlaybackState.PLAYING); 
      } 
     } 

    }); 
+0

这似乎是使用Leanback库Android TV和VideoView。 我没有使用Leanback,我使用MediaPlayer而不是VideoView。 不知道它是否可以很好地转换成我正在尝试做的。 –