我的应用程序出现问题,我想像这样使用该seekTo()
功能VideoView
:
videoView.seekTo(time);
videoView.start();
它在 中运行良好android 2.2
,但在或更高版本中不起作用android 2.3
......有人会告诉我为什么?它困扰了我好几天。
我的应用程序出现问题,我想像这样使用该seekTo()
功能VideoView
:
videoView.seekTo(time);
videoView.start();
它在 中运行良好android 2.2
,但在或更高版本中不起作用android 2.3
......有人会告诉我为什么?它困扰了我好几天。
VideoView.start()
仅在查找完成后才应调用 to 。调用VideoView.seekTo()
启动搜索但不幸的VideoView
是不支持OnSeekCompleteListener
通知搜索实际完成所需的。
您可以自定义VideoView
以支持OnSeekCompleteListener
,如我对 7990784 的回答所示。
onSeekComplete()
然后您可以通过调用注册接收setOnSeekCompleteListener()
。然后,您的侦听器实现应调用VideoView.start()
.
为了正确操作该方法seekTo()
,视频状态应处于PlaybackState
。
在VideoView
此处查看源以获取更多信息。
您是否尝试过Vitamio库中的 VideoView 类?
该解决方案应该有效。问题可能是里面的媒体播放videoView
器没有创建。
通过改变设备的方向很容易测试。我就是这样测试的。
videoView.setOnPreparedListener(onPreparedListener);
private MediaPlayer.OnPreparedListener onPreparedListener = new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.seekTo(videoPosition);
}
};