在VideoView中寻找

时间:2010-12-27 17:11:10

标签: android android-videoview seek

我在寻找视频方面遇到了问题。 我的应用程序应该从上次停止的地方恢复视频。所以我这样做:

videoView.seekTo(bookmark);
videoView.start();
但是当它播放时,我会听到声音从视频开始大约1-2秒。只有在那个视频寻找合适的位置之后。这种行为在HTC Nexus One,HTC G1,HTC evo上是可重现的。但在三星Galaxy标签上,所有播放都正常。

有没有人有类似的问题?这个错误是HTC特有的吗?在此先感谢。

2 个答案:

答案 0 :(得分:3)

这绝对不是您的手机特有的。我在HTC Incredible上遇到了同样的问题。 seekTo可以工作,但是从剪辑的开头就有一个音频故障。根据尝试实现自定义VideoView的结果,我想我不会去麻烦。我现在要看看是否可以在剪辑的开头静音。如果我成功,我会在这里报告。

好吧,我已经放弃了。我发现将剪辑的开头静音的唯一方法是完全静音手机,这也会使背景音乐静音。我将假设这将在未来某个时候修复,因为这是一个已知问题:

http://code.google.com/p/android/issues/detail?id=9135 问题9135:MediaPlayer / VideoView和SeekTo在初始播放开始之前开始几毫秒

答案 1 :(得分:2)

我想这可能是一个原因:

来自api doc

虽然异步seekTo(int)调用以正确的方式返回,但实际的搜索操作可能需要一段时间才能完成,尤其是对于流式传输的音频/视频。当实际搜索操作完成时,如果事先通过setOnSeekCompleteListener(OnSeekCompleteListener)注册了OnSeekCompleteListener,则内部播放器引擎会调用用户提供的OnSeekComplete.onSeekComplete()。

现在Videoview没有暴露OnSeekCompleteListener而且很糟糕,但Videoview只是Mediaplayer和SurfaceView的包装类