如何获取Assets的路径

简介:
有两种方法可以获取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://www.cnblogs.com/yaowen/p/5612475.html,如需转载请自行联系原作者

相关文章
|
18天前
|
API
【sgUpload】自定义组件:自定义上传组件,支持上传文件夹及其子文件夹文件、批量上传,批量上传会有右下角上传托盘出现,支持本地上传图片转换为Base64image。
【sgUpload】自定义组件:自定义上传组件,支持上传文件夹及其子文件夹文件、批量上传,批量上传会有右下角上传托盘出现,支持本地上传图片转换为Base64image。
|
8月前
|
存储 文件存储
如何使用Nest.js 上传文件及自定义文件名保存
在 Nest.js 中进行文件上传并自定义文件名保存的过程相对简单
316 0
|
JavaScript 前端开发
js解析上传APK文件的详细信息
js解析上传APK文件的详细信息
|
4月前
|
Java 应用服务中间件 Android开发
UEditor自定义图片/文件上传路径与回显
UEditor自定义图片/文件上传路径与回显
79 0
|
9月前
|
PHP
PHP实现自制随机图片API- 调用文件夹和引用网络图片
PHP实现随机图片API- 调用文件夹和引用网络图片
112 0
|
8月前
Nuxt.js 自定义文件夹指向(没有 assets 文件夹需手动添加)
Nuxt.js 自定义文件夹指向(没有 assets 文件夹需手动添加)
83 0
|
9月前
|
对象存储
oss上传图片的图片名和url路径后缀不一致问题分析与说明
oss上传图片的图片名和url路径后缀不一致问题分析与说明
388 0
|
11月前
|
PHP
thinkphp修改图片路径
thinkphp修改图片路径
81 0
C#获取资源文件夹中的完整路径
C#获取资源文件夹中的完整路径