我想从我的资产或原始文件夹播放video

我想从我的资产或原始文件夹在我的Android应用程序中使用VideoView播放video我收到错误,video不能播放,请任何人都给我一个解决scheme。

这是我使用的代码

 VideoView vd = (VideoView)findViewById(R.id.Video); Uri uri = Uri.parse("android.resource:" + R.raw.video); MediaController mc = new MediaController(this); vd.setMediaController(mc); vd.setVideoURI(uri); vd.start(); 

Solutions Collecting From Web of "我想从我的资产或原始文件夹播放video"

有几件事要注意:

  1. 您必须将video复制到项目的res / raw文件夹中。
  2. 它必须采用支持的格式(3gp,wmv,mp4),并在其文件名中以小写,数字,下划线和点命名: my_video_file.mp4
  3. 当你在代码中使用这个资源时,你将通过生成的R静态引用来引用 – 它将会删除文件扩展名: R.raw.my_video_file
  4. Activity类有一个助手方法getPackageName(),当你的video构build正确的URI时,你的代码可以使用它。
 VideoView vv = (VideoView)this.findViewById(R.id.videoView) String uri = "android.resource://" + getPackageName() + "/" + R.raw.my_video_file; vv.setVideoURI(Uri.parse(uri)); vv.start(); 

这里有更多的信息。

您必须在uri中包含软件包名称:

  Uri uri = Uri.parse("android.resource://[package]/raw/video") 

要么

  Uri uri = Uri.parse("android.resource://[package]/"+R.raw.video); 

另外,看看这些例子 。

VideoView有很多方法出错! 主要是因为logcat给你没有帮助,总是给错误UNKNOWN。

我发现这个链接是迄今为止最好的开始…完整的描述,所以你不能出错。 感谢作者…

http://androidexample.com/Play_Video_File_-_Android_Example/index.php?view=article_discription&aid=124&aaid=144

当我们在/resource/raw/assets/包含video资源时,默认情况下它会查找.mp4格式,它不会接受.wmv文件。 如果您从外部位置读取video文件(如: /mnt/sdcard/demo.wmv ),则会接受它们。

尝试:

  AssetFileDescriptor afd = getAssets().openFd(fileName); player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(), afd.getLength()); 

确保写入没有扩展名的文件video名称。