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

相关文章
使用ffmpeg工具下载m3u8类型的视频到本地
使用ffmpeg工具下载m3u8类型的视频到本地
2130 0
使用ffmpeg工具下载m3u8类型的视频到本地
|
JSON 5G 生物认证
harmony-utils之NetworkUtil,网络相关工具类
`harmony-utils` 是一款专为 HarmonyOS 开发的高效工具库,提供包括网络、设备、权限、文件等常用功能的封装。其中 `NetworkUtil` 工具类涵盖网络状态检测、类型判断、IP 获取、SIM 卡信息查询等功能,帮助开发者快速实现网络相关操作,提升开发效率。
312 0
|
JSON 生物认证 API
harmony-utils之PasteboardUtil,剪贴板工具类
harmony-utils 是一款功能丰富且易用的 HarmonyOS 工具库,提供剪贴板、设备、屏幕、授权等常用工具类,助力开发者高效构建鸿蒙应用。
246 0
|
XML API Android开发
构建高效的安卓应用:使用Jetpack Compose实现动态UI
【4月更文挑战第13天】 在移动应用开发领域,随着用户对流畅体验和即时反馈的期待不断上升,开发者面临着构建高效、响应式且具有丰富交互性的用户界面的挑战。传统的Android开发方法,如基于XML的布局,虽然稳定但往往伴随着较高的资源消耗和较低的开发效率。本文将探讨如何使用Jetpack Compose——一种现代声明式UI工具包,来构建动态且高效的安卓应用界面。通过深入分析Jetpack Compose的核心原理及其与传统方法的对比,揭示如何利用其强大的功能集合提升应用性能和开发效率。我们将通过实例演示如何快速构建可重用组件、实现实时数据绑定,以及优化布局渲染过程,从而为开发者提供一种更简洁、
|
消息中间件 运维 监控
阿里云中间件、aPaaS 产品与解决方案介绍|学习笔记
快速学习阿里云中间件、aPaaS 产品与解决方案介绍
1393 110
阿里云中间件、aPaaS 产品与解决方案介绍|学习笔记
|
存储 自然语言处理 算法
编辑距离算法全解析:优化文本处理的关键技术
编辑距离算法全解析:优化文本处理的关键技术
|
Java 开发工具 Android开发
Android Studio 导出JavaDoc文档
Android Studio 导出JavaDoc文档
767 0
|
网络协议 网络虚拟化
|
并行计算 API 异构计算
JAX 中文文档(十六)(3)
JAX 中文文档(十六)
556 0