解决:“MediaPlayer error (1, -2147483648)”问题

      如果你使用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

发布了153 篇原创文章 · 获赞 46 · 访问量 16万+

android VedioView不能播放此视频

07-14

做一个调用摄像头录像的demo,录像之后发送出去。期望的效果是录像结束,显示视频中的一个图片或者播放视频,然后确定发送将视频发出去,不需要有Controller那么高级的东西,只显示一下就行。但是我用VideoView播放说不能播放此视频,然后是黑屏,为什么呀?代码如下: protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_take_video); initialize(); fileUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/" + getTime() + ".3pg")); btnSend.setOnClickListener(this); btnCancle.setOnClickListener(this); startVideoCapture(); } private void startVideoCapture() { // TODO Auto-generated method stub Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); // intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); startActivityForResult(intent, 1); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub // super.onActivityResult(arg0, arg1, arg2); if (resultCode == RESULT_OK) { Toast.makeText(this, "Image saved to :\n" + fileUri.toString(), Toast.LENGTH_LONG).show(); v_video.setVideoURI(fileUri); v_video.start(); } else if (resultCode == RESULT_CANCELED) { } else { } } 我在文件存放的目录下可以找到视频文件,并且可以正常播放,视频文件没有问题。LogCat: 07-14 15:39:01.641: D/MediaPlayer(25119): Message: MEDIA_ERROR(100), ext1=MEDIA_ERROR_UNKNOWN(1), ext2=0x80000000 07-14 15:39:01.642: E/MediaPlayer(25119): error (1, -2147483648) 07-14 15:39:01.642: D/MediaPlayer(25119): [virtual void android::MediaPlayer::notify(int, int, int, const android::Parcel *)] : [1107] callback app listenerNotNull=1, send=1 07-14 15:39:01.642: D/MediaPlayer(25119): [virtual void android::MediaPlayer::notify(int, int, int, const android::Parcel *)] : [1111] callback application 07-14 15:39:01.775: E/MediaPlayer(25119): Error (1,-2147483648) 07-14 15:39:01.776: D/VideoView(25119): Error: 1,-2147483648 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览