我正在使用经典的 VideoView
实现在 Android 上播放视频。
相同的 mp4 文件 URL 在 HTC Desire 上工作正常。但它不适用于三星设备。
三星 Galaxy S1 和三星 Galaxy Tab 提示:“无法播放视频。无法播放视频。流数据无效”
三星 5110 显示:“无法播放视频。抱歉,该视频无法流式传输到此设备”
当我用文本编辑器查看mp4文件时,我意识到mdat标签位于moov之前。
我的问题是它在 HTC 上如何工作,而在三星设备上却不起作用。而且我没有机会更改 mp4 文件的格式,那么我该如何克服这个问题呢?
07-29 15:24:21.740: ERROR/PlayerDriver(2402): PlayerDriver::it is a not Protected file
07-29 15:24:21.763: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferWriteDataStreamImpl
07-29 15:24:21.806: ERROR/MediaPlayerService(2402): Client::notify In
07-29 15:24:21.806: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl
07-29 15:24:21.806: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl
07-29 15:24:21.810: ERROR/MediaPlayer(15339): message received msg=3, ext1=0, ext2=0
07-29 15:24:21.810: ERROR/MediaPlayer(15339): callback application
07-29 15:24:21.810: ERROR/MediaPlayer(15339): back from callback
07-29 15:24:21.822: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl
07-29 15:24:21.822: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl
07-29 15:24:21.822: ERROR/MediaPlayerService(2402): Client::notify In
07-29 15:24:21.822: ERROR/MediaPlayer(15339): message received msg=200, ext1=1, ext2=26
07-29 15:24:21.822: ERROR/MediaPlayer(15339): callback application
07-29 15:24:21.822: ERROR/MediaPlayer(15339): back from callback
07-29 15:24:21.822: ERROR/PlayerDriver(2402): Command PLAYER_INIT completed with an error or info -82
07-29 15:24:21.822: ERROR/MediaPlayerService(2402): Client::notify In
07-29 15:24:21.822: ERROR/MediaPlayer(15339): message received msg=100, ext1=200, ext2=-82
07-29 15:24:21.822: ERROR/MediaPlayer(15339): error (200, -82)
07-29 15:24:21.822: ERROR/MediaPlayer(15339): callback application
07-29 15:24:21.826: ERROR/MediaPlayer(15339): back from callback
07-29 15:24:22.025: ERROR/MediaPlayer(15339): Error (200,-82)
最佳答案
终于找到问题了
当我用mp4box提示mp4文件时,它也在三星设备上播放。
mp4box -提示
此过程正确地重新排列了视频文件的 moov 和 mdat 标签。
在此之前,同一个文件在 Android 2.3 的设备上可以正常播放,但在 Android 2.2 的设备上则不行。我不确定,但“安全流媒体”的限制可能在 2.3 版本之后取消了。
关于android - 在三星设备上播放 mp4 文件时出现 PVMFErrContentInvalidForProgressivePlayback 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874191/