android - 如何获取 raw 文件夹中存储的 mp3 的路径
android - how to get path of mp3 stored in raw folder
搜索解决方案后,我发现 link 可以检索如下路径:
使用资源 ID
语法:android.resource://[package]/[resource_id]
示例:Uri.parse("android.resource://com.my.package/" + R.raw.mp3filename);
这正是我想要的。问题是,我正在使用 lolipop,但它不起作用。解析 package/resource 时,来自 Uri.parse 的路径将为空。有没有其他方法可以写这个,因为在我的歌曲 class 中,我只能访问 resourceId (R.raw.mp3filename).
Is it possible to get file path by using R.raw.mp3file
否,因为它不是设备上的文件。它是您开发机器硬盘上的一个文件。在设备上,它只是 APK 文件中的一个条目。
任一:
以其他不涉及文件路径的方式做任何您想做的事,或者
在 Resources
对象上使用 openInputStream()
(您可以通过 getResources()
从任何 Context
中获取一个),并使用 Java I/O将该资源的内容复制到本地文件,例如internal storage
搜索解决方案后,我发现 link 可以检索如下路径:
使用资源 ID
语法:android.resource://[package]/[resource_id]
示例:Uri.parse("android.resource://com.my.package/" + R.raw.mp3filename);
这正是我想要的。问题是,我正在使用 lolipop,但它不起作用。解析 package/resource 时,来自 Uri.parse 的路径将为空。有没有其他方法可以写这个,因为在我的歌曲 class 中,我只能访问 resourceId (R.raw.mp3filename).
Is it possible to get file path by using R.raw.mp3file
否,因为它不是设备上的文件。它是您开发机器硬盘上的一个文件。在设备上,它只是 APK 文件中的一个条目。
任一:
以其他不涉及文件路径的方式做任何您想做的事,或者
在
Resources
对象上使用openInputStream()
(您可以通过getResources()
从任何Context
中获取一个),并使用 Java I/O将该资源的内容复制到本地文件,例如internal storage