如果你使用VideoView播放过MP4视频,你可能碰到过类似下面的问题:
MediaPlayer error (1, -2147483648)
如果你查阅文档,会发现1其实代表MEDIA_ERROR_UNKNOWN,不过文档对-2147483648(0x80000000)没有做什么说明,实际上它也是代表unknown error的意思。
真正的原因在于,MP4有多种编码格式,例如H.264,H.263等,而Android版本较低的机器只支持部分编码。
一旦遭遇不被支持的编码格式,MediaPlayer可能就会抛出上面的错误信息。
如果你也遇到这类问题,你可以使用一些视频软件查看视频的编码格式,然后转换为普遍支持的格式。
stackoverflow上有关于此问题的讨论,下面是一些链接:
http://stackoverflow.com/questions/10849044/cant-play-mp4-video-in-my-android-app
http://superuser.com/questions/371460/command-encoding-h264-baseline-profile-level-1-with-ffmpeg-and-libx264
http://stackoverflow.com/questions/11540076/android-mediaplayer-error-1-2147483648
http://developer.android.com/guide/appendix/media-formats.html