📅  最后修改于: 2023-12-03 14:51:44.944000             🧑  作者: Mango
在 Android 中,我们可以通过以下步骤来获取存储中的音频文件:
在 AndroidManifest.xml 文件中添加以下内容,以获取对存储的读取权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
我们可以使用 MediaStore 类访问存储中的多媒体文件,包括音频、视频和图片。在此示例中,我们将演示如何获取存储中的音频文件。
// 获取存储中所有音频文件的 Uri
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
// 指定需要获取的列
String[] projection = {
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.DATA
};
// 进行查询
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
// 遍历查询结果
if (cursor != null) {
while (cursor.moveToNext()) {
// 获取音频文件的 ID
long id = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media._ID));
// 获取音频文件的标题
String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
// 获取音频文件的艺术家
String artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
// 获取音频文件的时长
long duration = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION));
// 获取音频文件的路径
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
// 处理获取到的音频文件信息
// ...
}
// 关闭 Cursor
cursor.close();
}
在上述代码片段中,我们首先通过 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI 获取存储中所有音频文件的 Uri,然后指定需要获取的列并进行查询。在查询结果中,我们可以通过 Cursor 对象获取到每个音频文件的 ID、标题、艺术家、时长和路径等信息。最后,我们可以自定义处理获取到的音频文件信息。
以上就是从 Android 中的存储中获取音频文件的方法,希望对您有所帮助!