【问题标题】:Android VideoView plays video only onceAndroid VideoView 只播放一次视频
【发布时间】:2016-03-23 10:43:28
【问题描述】:

当我在 VideoView 上播放一些 MP4 时,它在我第一次在特定设备上播放时可以正常工作,但每次我再次尝试播放此视频时,我都会遇到

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

直到我清除应用程序的数据才会发生。然后我可以再次播放该视频一次。

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

另一件事是编码相同的其他视频不会引起任何问题......

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

【问题讨论】:

    标签: android video android-videoview appdata


    【解决方案1】:

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

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

    你也可能更好地使用 MediaPlayer - 我不得不求助的东西(这不是一件坏事,但绝对不如 VideoView 快或容易)

    还有一些其他问题可以对此有所了解:

    Android MediaPlayer/VideoView error (1, -2147483648)

    Android MediaPlayer error (1, -2147483648)

    【讨论】:

    • 谢谢。在 VideoView 的 OnErrorListener 中将视频下载到内部存储运行良好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    相关资源
    最近更新 更多