如何从资源文件夹播放本地视频

时间:2011-12-05 20:23:16

标签: android

我已经找了一个多星期了,我还没能做到。

我只是想播放一个2秒持续时间的视频作为我的应用程序的介绍,因此无法使用SD卡和URL流式传输解决方案。我想将mp4视频文件放在/ res / raw文件夹中(例如)并播放它,全屏,没有媒体控制器...它应该不会那么难!!!

我已按照Android http://developer.android.com/guide/appendix/media-formats.html#core

中的推荐(我已尝试过几次)对我的视频进行了编码

我尝试过很多不同的解决方案,例如下面的解决方案:

    VideoView videoHolder = (VideoView) this.findViewById(R.id.videoView1);
    videoHolder.setMediaController(new MediaController(this));
    Uri uri = Uri.parse("android.resource://mysite/raw/" + R.raw.intro__video);
    videoHolder.setVideoURI(uri);
    videoHolder.start();

我已经尝试了几个URI地址,我认为问题不在那里。 我试过仿真器1.6,2.1和2.33。我试过三种不同的真实设备。

我现在不知道该尝试什么。 StackOverflow中有很多类似的问题,但答案很少。答案用于将视频放在SD卡中(不适合我),但大多数线程都没有得到作者的答复,所以我们不知道他是否最终设法做到了。

非常感谢您提前。也许这次我们可以一劳永逸地回答这个问题: - )

EDIT 大多数情况下,设备只是保持黑色,视频无法播放。 对于尝试的某些编码,设备显示错误对话框,说“此视频无法播放”。 如果视频文件本身就是问题(我不这么认为,因为我尝试了很多不同的格式,分辨率和编码),请给我一个经过验证的视频文件,这样我就可以检查是否有问题只是......

1 个答案:

答案 0 :(得分:1)

我认为你没有正确构建URI。试试这个:

Uri uri = Uri.parse("android.resource://mysite/" + R.raw.intro__video);

或者这个:

Uri uri = Uri.parse("android.resource://mysite/raw/intro__video");