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

因为之前写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 in ANDROID
播放Android项目工程里的视频文件最终解决办法是:
1. 把视频文件放到项目工程的 res/raw 文件下。
2. 视频文件必须是Android支持视频格式(3gp,wmv,mp4),并且命名必须是小写字母,数据,下划线,例如:my_video_file.mp4
3. 当你是在代码里面引用这个资源文件时,你必须使用R statics类,同时去掉文件的后缀: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 播放assets文件里视频文件的问题的更多相关文章

  1. Atitit.android播放smb 网络邻居视频文件解决方案

    Atitit.android播放smb 网络邻居视频文件解决方案 Android4.4 1.1. Android4视频播放器不能直接地支持smb协议..子好先转换成个http流 1.2. ES文件浏览 ...

  2. 如何扫描出Android系统媒体库中视频文件

    Android系统启动时会去扫描系统文件,并将系统支持的视频文件(mp4,3gp,wmv)扫描到媒体库(MediaStore)中,下面代码演示如何获得这些文件的信息: publicstatic Lis ...

  3. Android从assets目录下读取文件相关

    有一个需求是app的帮助文档是word格式,ios可以直接用webview加载word显示,Android不行.而美工不配合转换成图片,前端没时间把word写成html 没办法,自己搞. 步骤: 1. ...

  4. CentOS 6.4 播放avi格式的视频文件

    1. 需要先进行相关的yum源的导入: rpm -Uhv http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0. ...

  5. html文件里引入文件html文件

    导入通用的代码除了使用php外 iframe在很多界面使用起来比较方便 比如说要写导航 在好几个界面都要用这个导航 可以用iframe引用 实例:这个header.html是我写的一个导航界面 在in ...

  6. matlab下将图片序列转化为视频文件 && 将为视频文件转化图片序列

    将图片序列转化为视频文件 程序如下: framesPath = 'E:\img\';%图像序列所在路径,同时要保证图像大小相同 videoName = 'Bolt.avi';%表示将要创建的视频文件的 ...

  7. C#打开office文件,pdf文件和视频文件

    打开office文件 1 需要从网站下载dsoframer.ocx文件 2 把dsoframer.ocx文件复制到c:\windows\system32目录下 开始->运行->regsvr ...

  8. android播放器如何获取音乐文件信息

    转http://blog.csdn.net/hellofeiya/article/details/8464356, android自带的音乐播放器中,在获取音乐文件信息的时候是通过扫描得到相关信息的. ...

  9. Android使用OKHttp库实现视频文件的上传到服务器

    目录 1 服务器接口简介 2 Android端代码实现 2.1 xml布局文件 2.2 Activity类 2.3 Okhttp网络通信类 1 服务器接口简介 此处我使用的服务器接口是使用Flask编 ...

随机推荐

  1. bootstrap2.3.2常用标签的使用

    <!DOCTYPE html> <html lang="zh_CN"> <head> <title>Bootstrap 101 Te ...

  2. Ubuntu切换至root用户

    第一种方式: 使用命令 sudo passwd root 设置root用户的密码 然后su root即可切换至root用户  第二种方式: sudo bash

  3. 字符串分割--Java中String.split()用法

    转载自:http://blog.163.com/zs_note/blog/static/199386112201110804233558/ 在java.lang包中有String.split()方法, ...

  4. BUAA 更大公约数

    题目链接 给一个n*m的矩阵, 删除里面的一行一列, 使得剩下的数的最大公约数最大. 一个格子(x,y), 先预处理出(1,1)到这个格子的内所有数的最大公约数, 同理处理出(1, m), (n, m ...

  5. 记录.net 中的常见术语

    --Entity Framework和NHibernate --EF和NH都是一种ORM技术.就是对象关系模型映射. --NHibernate和Entity Framework 4.0优劣势争论 -- ...

  6. Nancy之实现API

    Nancy之实现API的功能 0x01.前言 现阶段,用来实现API的可能大部分用的是ASP.NET Web API或者是ASP.NET MVC,毕竟是微软官方出产的,用的人也多. 但是呢,Nancy ...

  7. Linux例行工作crontab

    第一步编辑要定时执行的脚本: myScript.sh myScript.sh的内容为:touch /root/`date +%F' '%T`.txt 为myScript.sh增加可执行权限:chmod ...

  8. JAVA并发,后台线程

    package com.xt.thinks21_2; import java.util.concurrent.TimeUnit; /** * 后台线程测试 * * @author Administra ...

  9. mysqldump 利用rr隔离实现一致性备份

    mysqldump -p -S /data/mysqldata1/sock/mysql.sock --single-transaction --master-data=2 --database db1 ...

  10. JavaScript 实现Map

    var map=new Map(); map.put("a","A");map.put("b","B");map.put ...