Android VideoView只播放一次视频



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

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

在我清除应用程序的数据之前会发生这种情况。然后我可以再播放一次那个视频。

尽管如此,清除一次数据并不总是有帮助的。有时我不得不做几次。此外,也有视频连续播放几次而没有清除数据的情况。

另一件事是,编码相同的另一个视频不会引起任何问题。。。

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

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

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

你也可能更好地使用MediaPlayer-这是我不得不求助的(这不是一件坏事,只是肯定没有VideoView那么快或容易)

还有一些其他问题可以深入了解这一点:

Android MediaPlayer/VideoView错误(1,-2147483648)

Android媒体播放器错误(1,-2147483648)

最新更新