【发布时间】:2022-05-08 10:38:01
【问题描述】:
我想显示带有其余信息的音频文件缩略图, 我如何解析所有音频文件的缩略图
在回收站视图中加载音频文件的功能
private void loadAudio() {
ContentResolver contentResolver = getContentResolver();
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.Audio.Media.IS_MUSIC + "!= 0";
String sortOrder = MediaStore.Audio.Media.TITLE + " ASC";
Cursor cursor = contentResolver.query(uri, null, selection, null, sortOrder);
if (cursor != null && cursor.getCount() > 0) {
audioList = new ArrayList<>();
while (cursor.moveToNext()) {
String data = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
String album = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));
String artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
String albumId = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));
audioList.add(new AudioClass(data, title, album, artist, null));
}
} else {
Log.e(TAG, "ContentResolver got null----------");
}
cursor.close();
}
**用于在 recyclerView 中显示文件的音频文件类**
public class AudioClass {
String data;
String title;
String album;
String artist;
Bitmap albumArtPath;
public AudioClass(String data, String title, String album, String artist, Bitmap albumArtPath) {
this.data = data;
this.title = title;
this.album = album;
this.artist = artist;
this.albumArtPath = albumArtPath;
}
public String getData() {
return data;
}
public String getTitle() {
return title;
}
public String getAlbum() {
return album;
}
public String getArtist() {
return artist;
}
public Bitmap getAlbumArtPath() {
return albumArtPath;
} }
音频文件列表被夸大了,但我无法获得音频文件的缩略图。
【问题讨论】:
-
这给了我一些错误,但我通过使用 MediaRetriever 找到了另一个答案,stackoverflow.com/a/17696852/11753476
标签: android android-mediaplayer