所以我正在尝试在 android 中播放基本的 avi 视频,它似乎在 Windows Media Player、VLC 等上运行良好,所以它看起来不需要任何复杂的编解码器。我的应用程序中有一个视频 View ,仅此而已,我的资源目录中有我的视频:
res/raw/my_video.avi
这是我用来加载视频的代码:
setContentView(R.layout.activity_main);
VideoView videoView = (VideoView) findViewById(R.id.videoView1);
Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.my_video);
videoView.setVideoURI(video);
videoView.start();
而且它不起作用。我收到一个弹出窗口,上面写着“无法播放此视频”以及一条 logcat 消息:
03-10 01:42:12.102: E/(185): Failed to open file 'android.resource://com.securespaces.android.bootstrap/2130968576'. (No such file or directory)
03-10 01:42:12.102: E/MediaPlayer(9737): error (1, -2147483648)
03-10 01:42:12.142: E/MediaPlayer(9737): Error (1,-2147483648)
顺便说一句,我在运行 4.4.2 库存的 Nexus 5 上运行它。我正在按照我在此处的其他堆栈溢出问题中找到的说明进行操作:How to play videos in android from assets folder or raw folder?进行一些小的调整,以便我使用从布局文件中获取的 VideoView。
我真的很困惑为什么这不起作用。我浏览了关于这个主题的几个问题,但这感觉应该是重复的。顺便说一句,我在运行 4.4.2 库存的 Nexus 5 上运行它。
为了澄清这个问题,我想知道我做错了什么,或者是否有其他方法可以播放简单的 AVI 视频?
最佳答案
静态写下你的包名,检查视频是否播放。
尝试如下:
VideoView videoView = (VideoView) findViewById(R.id.videoView1);
Uri video = Uri.parse("android.resource://com.securespaces.android.bootstrap/" + R.raw.my_video);
videoView.setVideoURI(video);
videoView.setMediaController(new MediaController(this));
videoView.requestFocus();
关于Android VideoView 无法播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22292911/