【发布时间】:2011-03-11 13:31:28
【问题描述】:
如何以编程方式将设备中的音乐文件访问到我的应用程序中?
【问题讨论】:
标签: android
如何以编程方式将设备中的音乐文件访问到我的应用程序中?
【问题讨论】:
标签: android
另一种方法是使用 MediaStore 内容提供程序来查找您的音乐:http://developer.android.com/reference/android/provider/MediaStore.html。
MediaColumns 中有一个 DATA 字段,用于保存媒体文件的数据流。
Google 有一个从 MediaStore 读取图像的示例,该示例位于该页面的一半多一点处:http://developer.android.com/guide/topics/providers/content-providers.html。我想你应该可以采用代码来阅读音乐,而不用太麻烦。
编辑:Google 重新编写了有关内容提供商的文档。我上面提到的例子似乎不再存在。但是,一旦您有了媒体的 URI,您应该能够通过以下方式获取输入流:
InputStream is = getContentResolver().openInputStream(uri);
【讨论】:
根据您的文件存储位置,您可以使用:
Environment.getExternalStorageDirectory();
或:
Environment.getDataDirectory();
两者都会为您提供各自数据的根路径。即 getExternalStorageDirectory() 将在我的 Evo 4G 上为我提供 /mnt/sdcard/,因为我的 SD 卡已注册为设备的外部存储。
之后你必须知道你的文件在哪里,然后去那个文件夹。
【讨论】: