如何获取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,如需转载请自行联系原作者

相关文章
|
2月前
|
API
【sgUpload】自定义组件:自定义上传组件,支持上传文件夹及其子文件夹文件、批量上传,批量上传会有右下角上传托盘出现,支持本地上传图片转换为Base64image。
【sgUpload】自定义组件:自定义上传组件,支持上传文件夹及其子文件夹文件、批量上传,批量上传会有右下角上传托盘出现,支持本地上传图片转换为Base64image。
|
11月前
|
存储 文件存储
如何使用Nest.js 上传文件及自定义文件名保存
在 Nest.js 中进行文件上传并自定义文件名保存的过程相对简单
382 0
minio查询文件夹下面内容只返回了当前文件夹
minio查询文件夹下面内容的时候,路径最后一定要带个/,不然就是查询的当前文件夹自己
|
JavaScript 前端开发
js解析上传APK文件的详细信息
js解析上传APK文件的详细信息
|
2月前
|
前端开发 Java
在springboot项目中实现将上传的jpg图片类型转为pdf并保存到本地
使用uniapp的uni.canvasToTempFilePath方法,将canvas内容转为jpg并上传至服务器。后端接收到jpg文件后,通过Java的PDFBox库进行处理。代码包括:选取画板内容为jpg,转换为临时文件路径,基于此路径生成File对象并上传,服务器端利用PDFBox处理上传的jpg文件。依赖:PDFBox 2.0.8。
31 3
|
2月前
|
Java 应用服务中间件 Android开发
UEditor自定义图片/文件上传路径与回显
UEditor自定义图片/文件上传路径与回显
243 0
|
11月前
Nuxt.js 自定义文件夹指向(没有 assets 文件夹需手动添加)
Nuxt.js 自定义文件夹指向(没有 assets 文件夹需手动添加)
109 0
|
otter Java 网络安全
`fastsql-2.0.0_preview_135.pom` 文件没有下载或者没有放置到正确的路径
`fastsql-2.0.0_preview_135.pom` 文件没有下载或者没有放置到正确的路径
67 1
|
对象存储
oss上传图片的图片名和url路径后缀不一致问题分析与说明
oss上传图片的图片名和url路径后缀不一致问题分析与说明
480 0
|
PHP
thinkphp修改图片路径
thinkphp修改图片路径
108 0