Android之assets资源目录的各种操作
第一种方法:
String path = file:///android_asset/文件名;
第二种方法:
InputStream abpath = getClass().getResourceAsStream("/assets/文件名");
But,这样获取的路径并不能直接访问到assets的资源,如果一个mp3放在assets下,通过以上两种方法获得的路径并不能直接播放里面的mp3文件,why?
那是因为在安卓应用中使用assets目录下存放的资源文件,是代表应用无法直接访问的原生资源,应用程序通过AssetManager以二进制流的形式来读取资源。
第一种获取路径的方法,目前我所知道的,只是针对html的展示来使用的,比如你用到了webview,那么html的path可以用这种方法显示,其他情况不行。
那么我们想用MediaPlayer播放里面的视频或者音乐该怎么做呢?可以以以下方式进行播放!
MediaPlayer
mediaPlayer=new MediaPlayer();
AssetFileDescriptor
afd = getAssets().openFd("musics/SleepOceation.mp3");
mediaPlayer.setDataSource(afd.getFileDescriptor());
mediaPlayer.prepare();(注意这句话必须有!)
mediaPlayer.start();
OK,这样就能顺利播放assets下的音乐或者视频文件了!
http://blog.sina.com.cn/s/blog_6b2ad0530101nl0r.html
Android之assets资源目录的各种操作的更多相关文章
- Android多渠道打包且根据不同产品打包不同的assets资源目录
因为项目中存在多种环境,既要区分bebug与release版本,release又要区分测试环境与生产上线环境,每次打包都得浪费不少的等待时间:并且哪个版本有问题还得去切换环境一个个打包,关键是还得牢记 ...
- Android Studio在项目中添加assets资源目录
第一步: 切换到"Project"视图,找到app --> src --> main目录 第二步: 右键点击main目录,New --> Directory -- ...
- Android学习--Assets资源文件读取及AssetManager介绍
APK安装过程 复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用 ...
- Android之assets资源
assets目录下存放的原生资源文件,通过getAssets()方法获取. 使用: InputStream inputStream; try { inputStream = getAssets().o ...
- [Unity3D][转] 关于Assets资源目录结构管理
分享个我们项目常用的目录结构,微调过很多次,最终到了这个版本.个人认为这种管理资源方式是不错的.欢迎探讨各个细节~ 更新于2013.5.30 Asserts --Editor 自写的灵活方便插 ...
- [Unity3D]关于Assets资源目录结构管理
原地址:http://www.cnblogs.com/hisiqi/p/3203515.html 分享个我们项目常用的目录结构,微调过很多次,最终到了这个版本.个人认为这种管理资源方式是不错的.欢迎探 ...
- (转)[Unity3D]关于Assets资源目录结构管理
分享个我们项目常用的目录结构,微调过很多次,最终到了这个版本.个人认为这种管理资源方式是不错的.欢迎探讨各个细节~ 更新于2013.5.30 Asserts --Editor 自写的灵活方便插 ...
- 【转】android资源目录---assets与res/raw区别
blog.csdn.net/hshm20517/article/details/6461890 assets:用于存放需要打包到应用程序的静态文件,以便部署到设备中.与res/raw不同点在于,ASS ...
- Android开发 ---如何操作资源目录中的资源文件5 ---Raw资源管理与国际化
效果图: 1.activity_main.xml 描述: 定义两个按钮,一个是Raw资源管理,一个是处理国际化语言,其中i18n表示简体中文 <?xml version="1.0&qu ...
随机推荐
- TabControl控件重绘
原文地址:http://www.codeproject.com/Articles/91387/Painting-Your-Own-Tabs-Second-Edition 在网上看到重绘TabContr ...
- 学习笔记:mpvue开发小程序——入门
接下来可能要开发一个小程序,同事推荐使用mpvue,那么我提前熟悉下. 官网地址:http://mpvue.com/ 1.快速上手 http://mpvue.com/mpvue/quickstart/ ...
- Ab工具基本使用
Ab简介 ab是apache自带的压力测试工具,ab是apachebench命令的缩写. ab不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试. ab是一个ht ...
- 每日技术总结:filter(),Bscroll
前言: 这是一个vue的电商项目,使用express后端提供数据. 1.filter()函数. 事情是这样的.我从数据库拿到了所有分类数据. 分类有三个等级.父类,子类,孙类这样.但它们都在同一张表里 ...
- decode与case when
语法 decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) select * from reglike; ,),'aaa','yes','no') decode from ...
- RISC-V评估系列
RISC-V评估系列 RISC-V工具链搭建 SiFive虚拟机分享--提取码:xe1c SiFive SDK函数结构 底层驱动 driver框架 操作系统FreeRTOS移植 FGPA评估 benc ...
- xmppframework开发基础
xmppframework是XMPP协议的一个objective-c实现. 要了解xmppframework, 从这里開始吧:https://github.com/robbiehanson/XMPPF ...
- jQuery插件AjaxFileUpload实现ajax文件上传时老是运行error方法 问题原因
今天在用jQuery插件AjaxFileUpload实现ajax文件上传时,遇到一个问题,如图: 老是运行error.无法运行succes方法,追踪ajaxfileupload.js源代码发现: wa ...
- STATUS CODE: 91, occurs when trying to move media from one volume pool to another.
Overview:Symantec NetBackup (tm) will not allow a tape with active images to be moved from one volum ...
- h5 video 点击自动全屏
加上如下属性 https://blog.csdn.net/weixin_40974504/article/details/79639478 可阻止自动全屏播放,感谢 https://blog.csdn ...