6


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

videoView.seekTo(bookmark);
videoView.start();
但是,当它播放时,我会听到视频开头的声音约 1-2 秒。只有在该视频寻找到正确的位置之后。此行为可在 HTC Nexus One、HTC G1、HTC evo 上重现。但在三星 Galaxy Tab 上一切正常。

有人遇到过类似的问题吗?这个错误是 HTC 特有的吗?提前致谢。

4

2 回答 2

3

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

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

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

于 2011-04-21T21:02:15.067 回答
2

我想这可能是一个原因:

来自api 文档

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

现在 Videoview 没有暴露 On​​SeekCompleteListener 并且很烂,但是 Videoview 只是 Mediaplayer 和 SurfaceView 的包装类

于 2011-02-07T03:27:15.323 回答