8

我的应用程序出现问题,我想像这样使用该seekTo()功能VideoView

videoView.seekTo(time);
videoView.start();

它在 中运行良好android 2.2,但在或更高版本中不起作用android 2.3......有人会告诉我为什么?它困扰了我好几天。

4

4 回答 4

4

VideoView.start()仅在查找完成后才应调用 to 。调用VideoView.seekTo()启动搜索但不幸的VideoView是不支持OnSeekCompleteListener通知搜索实际完成所需的。

您可以自定义VideoView以支持OnSeekCompleteListener,如我对 7990784 的回答所示。

onSeekComplete()然后您可以通过调用注册接收setOnSeekCompleteListener()。然后,您的侦听器实现应调用VideoView.start().

于 2012-08-13T17:17:20.000 回答
1

为了正确操作该方法seekTo(),视频状态应处于PlaybackState

VideoView 此处查看源以获取更多信息。

于 2012-04-26T10:53:17.247 回答
1

您是否尝试过Vitamio库中的 VideoView 类?

维生素

于 2013-08-01T14:33:23.943 回答
0

该解决方案应该有效。问题可能是里面的媒体播放videoView器没有创建。

通过改变设备的方向很容易测试。我就是这样测试的。

videoView.setOnPreparedListener(onPreparedListener);
private MediaPlayer.OnPreparedListener onPreparedListener = new MediaPlayer.OnPreparedListener() {
    public void onPrepared(MediaPlayer mp) {
        mp.seekTo(videoPosition);
    }
};
于 2016-02-09T12:26:37.870 回答