Asset资源文件的使用方法
2016-08-05 14:20
162 查看
有两种方法可以获取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下的音乐或者视频文件了!
第一种方法:
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下的音乐或者视频文件了!
相关文章推荐
- C# 使用资源文件 Resource.resx 的方法
- [原]RCP使用org.eclipse.osgi.util.NLS访问资源文件及自动将字符串导出至资源文件的方法
- 在.NET中读取嵌入和使用资源文件的方法
- C# 使用资源文件 Resource.resx 的方法
- Yii2中使用asset压缩js,css文件的方法
- 资源文件使用&多语言切换方法
- android开发教程之系统资源的使用方法 android资源文件
- 带有res资源文件的项目 需要导成jar包 供别人使用的解决方法
- Android点击控件改变颜色的两种方法——onTouchLisener()和xml资源文件selector的使用
- 在.NET中读取嵌入和使用资源文件的方法
- C# 使用资源文件 Resource.resx 的方法
- Android字符串资源文件format方法使用实例
- [JSTL] 使用本地化资源文件的方法
- 在.NET中读取嵌入和使用资源文件的方法
- C#资源文件的使用方法
- 沫沫金:Struts2中文国际化包级资源文件使用方法
- 使用swithview类时,解决 某个资源文件未定义的方法
- 资源文件使用方法
- 在字符串资源文件里加入HTML元素,直接使用字符串资源,HTML元素没起作用的解决的方法
- Yii2中使用asset压缩js,css文件的方法