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

作者:llyofdream 时间:2021-08-10 20:04:41 

本文实例讲述了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://stackoverflow.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,播放,assets,视频文件
0
投稿

猜你喜欢

  • 一篇文章带你搞懂Java线程池实现原理

    2021-10-23 05:45:36
  • unity实现虚拟摇杆控制Virtual Joystick

    2022-09-26 11:56:28
  • 浅谈SpringBoot在使用测试的时候是否需要@RunWith

    2022-12-19 04:14:14
  • 深入解析Java的设计模式编程中建造者模式的运用

    2022-08-10 23:31:22
  • Struts 2中实现Ajax的三种方式

    2022-04-30 05:46:28
  • 使用java + selenium + OpenCV破解腾讯防水墙滑动验证码功能

    2023-07-23 14:32:47
  • 浅谈Java工程读取resources中资源文件路径的问题

    2021-07-20 19:13:45
  • 详解SpringBoot构建的Web项目如何在服务端校验表单输入

    2021-08-22 23:51:59
  • java如何使用自己的maven本地仓库详解

    2022-08-01 12:13:44
  • Kotlin基础教程之数据类型

    2023-12-06 15:23:22
  • C#中使用XmlDocument类来创建和修改XML格式的数据文件

    2023-09-19 16:33:45
  • SpringBoot实现文件上传下载功能小结

    2022-11-09 07:40:07
  • Dubbo实现分布式日志链路追踪

    2023-08-23 21:00:54
  • java动态导出excel压缩成zip下载的方法

    2022-07-13 07:29:27
  • java获取包下被指定注解的类过程解析

    2023-08-08 11:12:27
  • C#模式画刷HatchBrush用法实例

    2021-10-01 08:59:45
  • Java 代理(Proxy)的原理及应用

    2023-08-21 08:40:41
  • Java多线程工具篇BlockingQueue的详解

    2022-07-03 20:47:56
  • Spring Boot 集成Shiro的多realm配置过程

    2023-09-17 10:07:26
  • JAVA中ListIterator和Iterator详解与辨析(推荐)

    2021-06-11 16:47:19
  • asp之家 软件编程 m.aspxhome.com