播放直播时,我从MediaPlayer收到一个奇怪的错误。在我将Nexus 10从5.0.x升级到5.1之前,代码运行良好。
我收到错误:onError处理程序中的错误(-2147483648,0),必须停止视频。如果我在错误处理程序中放置一个断点,则视频可以在设备上完美播放,因此我不知道为什么会引发错误,也不知道这意味着什么。
我尝试调试MediaPlayer源,但是由于某种原因,设备上的二进制文件与我的5.1源不匹配。无论哪种方式,错误似乎都是由本机代码引起的。
我可以使用相同的代码播放其他媒体源,似乎只有没有持续时间信息的媒体会导致错误。
这是我从日志中获得的唯一有用信息:
03-21 23:02:22.365: W/MediaPlayer(26062): info/warning (801, 0)
03-21 23:02:22.401: D/MediaPlayer(26062): getMetadata
03-21 23:02:22.416: W/MediaPlayer(26062): Stream has no duration and is therefore not seekable.
03-21 23:02:22.416: E/MediaPlayer(26062): error (-2147483648, 0)
03-21 23:02:22.427: E/MediaPlayer(26062): Error (-2147483648,0)
03-21 23:02:22.443: D/VideoView(26062): Error: -2147483648,0
03-21 23:02:22.446: W/Tag(26062): Playback error in -2147483648 info: 0
03-21 23:02:22.492: W/MediaPlayer(26062): info/warning (3, 0)
弄清楚了。我在没有持续时间的流(实时流)上用零值调用seekTo()。我不知道为什么它在5.1升级之前有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句