Android VideoView仅播放一次视频

时间:2016-03-23 10:43:29

标签: android video android-videoview appdata

当我在VideoView上播放一些MP4时,它首次在特定设备上播放,但是每次我尝试再次播放此视频时我都会

W / MediaHTTPConnection:readAt 2862802/32768 => java.net.ProtocolException E / MediaPlayer:错误(1,-2147483648) E / MediaPlayer:错误(1,-2147483648)

直到我清除应用程序的数据才会发生这种情况。然后我再次播放该视频。

虽然清理数据一次并不总是有帮助。有时我必须做几次。还有更多的情况是视频连续播放几次而没有清除数据。

另一件事是另一个编码相同的视频不会导致任何问题......

VideoView是否以某种方式存储已播放的视频并在下次播放时使用它?如果是这样,是否有可能管理它?

1 个答案:

答案 0 :(得分:1)

根据我的个人经验,我们必须做两件事之一来解决这个错误(错误是未知错误,基本上)。

我们要么必须自己A,缓冲或下载视频(VideoView内置的视频似乎不能正常工作,感觉好像它已经2.x甚至已经更新)或者B,重新编码视频(较新的MP4编解码器似乎对于默认的VideoView实现来说过于复杂 - 使用Adobe的媒体编码器,我们可以使用较旧的规格重新编码)。这是一个很好的指南:http://developer.android.com/guide/appendix/media-formats.html

你也可能更好地使用MediaPlayer - 这是我不得不求助的事情(不是一件坏事,绝对不像VideoView那么快或简单)

还有一些其他问题可以帮助您了解这一点:

Android MediaPlayer/VideoView error (1, -2147483648)

Android MediaPlayer error (1, -2147483648)