我想从我的资产或原始文件夹中播放视频

时间:2010-09-19 15:48:20

标签: android android-videoview

我想在Android中的应用中播放我的资源或原始文件夹中的视频 使用VideoView我收到错误,因为无法播放视频 请任何人给我一个解决方案。

这是我使用的代码

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();

6 个答案:

答案 0 :(得分:33)

有几点需要注意:

  1. 您必须将视频复制到项目的 res / raw 文件夹中。
  2. 必须采用支持的格式(3gp,wmv,mp4),并在文件名中以小写,数字,下划线和点命名: my_video_file.mp4
  3. 当您在代码中使用此资源时,您将通过生成的R静态引用 - 它将删除文件扩展名: R.raw.my_video_file
  4. Activity类有一个帮助方法getPackageName(),在构建视频的正确URI时,代码可以使用它。
  5. 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();
    

    有关此here的更多信息。

答案 1 :(得分:7)

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

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

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

另外,请查看these examples

答案 2 :(得分:2)

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

我发现此链接是目前为止最好的入门方式... 完整的描述,以便您可以出错。谢谢你去找作者......

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

答案 3 :(得分:0)

当我们在/resource/raw/assets/中添加视频资源时,默认情况下,它会查找.mp4格式,但不会接受.wmv个文件。如果您从外部位置(例如:/mnt/sdcard/demo.wmv)阅读视频文件,那么它将接受它们。

答案 4 :(得分:0)

尝试:

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

答案 5 :(得分:0)

确保将文件视频名称不带扩展名