我在寻找视频时遇到问题。我的应用程序应该从上次停止的地方恢复视频。所以我这样做:
videoView.seekTo(bookmark);
videoView.start();
但是,当它播放时,我会听到视频开头的声音约 1-2 秒。只有在该视频寻找到正确的位置之后。此行为可在 HTC Nexus One、HTC G1、HTC evo 上重现。但在三星 Galaxy Tab 上一切正常。有人遇到过类似的问题吗?这个错误是 HTC 特有的吗?提前致谢。
我在寻找视频时遇到问题。我的应用程序应该从上次停止的地方恢复视频。所以我这样做:
videoView.seekTo(bookmark);
videoView.start();
但是,当它播放时,我会听到视频开头的声音约 1-2 秒。只有在该视频寻找到正确的位置之后。此行为可在 HTC Nexus One、HTC G1、HTC evo 上重现。但在三星 Galaxy Tab 上一切正常。它绝对不是特定于您的手机的。我在 HTC Incredible 上遇到了同样的问题。seekTo 有效,但剪辑开头出现音频故障。根据尝试实现自定义 VideoView 的结果,我想我不会遇到麻烦。我现在要看看是否可以将剪辑的开头静音。如果我成功了,我会在这里报告。
好吧,我已经放弃了。我发现使剪辑开头静音的唯一方法是使手机完全静音,这也会使背景音乐静音。我假设这将在未来某个时候得到修复,因为这是一个已知问题:
http://code.google.com/p/android/issues/detail?id=9135 问题 9135:MediaPlayer/VideoView 和 SeekTo 在初始播放之前从头开始几毫秒
我想这可能是一个原因:
来自api 文档
尽管异步 seekTo(int) 调用以正确的方式返回,但实际的搜索操作可能需要一段时间才能完成,尤其是对于正在流式传输的音频/视频。当实际的查找操作完成时,如果已通过 setOnSeekCompleteListener(OnSeekCompleteListener) 预先注册了 OnSeekCompleteListener,则内部播放器引擎会调用用户提供的 OnSeekComplete.onSeekComplete()。
现在 Videoview 没有暴露 OnSeekCompleteListener 并且很烂,但是 Videoview 只是 Mediaplayer 和 SurfaceView 的包装类