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