欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android播放assets文件里视频文件相关问题分析

程序员文章站 2024-03-07 14:01:27
本文实例讲述了android播放assets文件里视频文件相关问题。分享给大家供大家参考,具体如下: 今天做了一个功能,就是播放项目工程里面的视频文件,不是播放sd卡视频...

本文实例讲述了android播放assets文件里视频文件相关问题。分享给大家供大家参考,具体如下:

今天做了一个功能,就是播放项目工程里面的视频文件,不是播放sd卡视频文件。

我开始尝试把视频文件放到 assets文件目录下。

因为之前写webview加载assets文件夹时,是这样写的:

webview = new webview(this);
webview.loadurl(file:///android_asset/sample3_8.html);

依次类推,我尝试将视频video.3gp 放到assets目录下,然后写了下面的代码:

intent it = new intent(intent.action_view);
uri uri = uri.parse(name);
it.setdataandtype(uri ,"video/3gp);
startactivity(it);

启动了android系统播放器,提示了一些信息(没有记录下来),大概意思就是无法播放这个路径下面的文件/无法找到这个路径文件。

google了一下,中文网页上几乎没有解决办法的说明,按照惯例,去 http://*.com 搜索答案,找到了这个帖子:

i want to play a video from my assets or raw folder in my app inandroid

播放android项目工程里的视频文件最终解决办法是:

1. 把视频文件放到项目工程的 res/raw 文件下。

2.视频文件必须是android支持视频格式(3gp,wmv,mp4),并且命名必须是小写字母,数据,下划线,例如:my_video_file.mp4

3. 当你是在代码里面引用这个资源文件时,你必须使用rstatics类,同时去掉文件的后缀:r.raw.my_video_file

4. 这个activity class 应该有一个 helper 方法getpackagename(),这样便于你在你的代码里面构造正确的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();

更多关于android相关内容感兴趣的读者可查看本站专题:《android多媒体应用开发技巧汇总》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。