从资产文件夹和原始文件夹播放视频时出错 MediaPlayer错误(1,-2147483648) VideoView错误1,-2147483648。
我尝试从资产文件夹中获取。
private String SrcPath = "file:///android_asset/aaa.mp4"; //also tried aaaa.mp3
VideoView vv = (VideoView)findViewById(R.id.videoView1);
vv.setVideoPath(SrcPath);
MediaController controller = new MediaController(this);
controller.setAnchorView(vv);
vv.setMediaController(controller);
vv.requestFocus();
vv.start();
对于原始文件夹,我使用URI作为:
Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/aaa.mp4");
vv.setVideoURI(video);
我在两种情况下都收到了相同的错误消息。
答案 0 :(得分:1)
您可以使用avinaptic2等软件获取视频编码信息,并确保其与supported media formats in android匹配。
我发现的一个常见问题是视频使用错误的分析进行编码。 H.264视频需要使用Baseline level 3或更低版本进行编码,以便在Android中无错误或伪影播放。
答案 1 :(得分:1)
我找到了解决方案,因为我可以在虚拟设备上播放视频。
我替换了
Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/aaa.mp4");
与
Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/"+R.raw.aaa);
及其工作
答案 2 :(得分:0)
使用R.raw
工作正常,但在某些情况下我仍然会得到相同的错误。幸运的是,我找到了解决问题的方法:我必须在videoView.start()
内拨打onPrepare()
。
您可以在此处查看正确答案: Android: 'Can't play this video'; MediaPlayer & VideoView Error 1 -38