Android VideoView 错误 1,-2147483648

3
我在播放来自asset文件夹和raw文件夹的视频时出现错误。
MediaPlayer错误(1, -2147483648)
VideoView错误1,-2147483648。
我尝试从asset文件夹中播放视频。
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();

对于raw文件夹,我使用的URI如下:

Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/aaa.mp4");
vv.setVideoURI(video);

我在两种情况下都收到了相同的错误信息。


通常意味着您的设备不支持正在播放的视频格式。 - Lucifer
我正在AVD上运行我的应用程序,并尝试了不同配置的5-6个AVD,但错误仍然相同。我们能在虚拟设备中播放视频吗? - Pratapi Hemant Patel
无论如何,感谢您的快速回复。 - Pratapi Hemant Patel
我找到了解决方案,因为我能够在虚拟设备上播放视频。我用以下代码替换了这一行:Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/"+R.raw.aaa);现在它可以正常工作了。 - Pratapi Hemant Patel
很好,你自己找到了解决方案 :) - Lucifer
显示剩余2条评论
3个回答

1
我发现解决方法,我可以在虚拟设备上播放视频。

我替换了这行代码

Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/aaa.mp4");

使用

Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/"+R.raw.aaa);

而且它正在工作


1
如何从URL播放? - Prasad
1
那么R.raw.aaa和aaa.mp4有什么不同呢? - hariszaman
@hariszaman R.raw.aaa 是一个资源ID(整数),而带有 aaa.mp4 的字符串是一个字符串。 - zundi

1

你可以使用像 avinaptic2这样的软件获取视频编码信息,并确保它与 Android 支持的媒体格式相匹配。

我发现一个常见的问题是视频被编码成了错误的配置。H.264 视频需要以 Baseline 级别 3 或以下进行编码,才能在 Android 中无误或无失真地播放。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接