gpt4 book ai didi

android - 如何在android中显示音频文件的缩略图?

转载 作者:行者123 更新时间:2023-11-29 02:26:58 26 4
gpt4 key购买 nike

我一直在尝试在我的歌曲列表中添加音频文件的缩略图。但经过几次尝试,我没有做到这一点。我不知道如何实现这个。有什么简单的方法可以获取音频文件的缩略图吗?我在下面给出了我实际正在寻找的示例图片。

private class MediaCursorAdapter extends SimpleCursorAdapter {

MediaCursorAdapter(Context context, int layout, Cursor c) {
super(context, layout, c, new String[]{MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.ALBUM_ID},
new int[]{R.id.title, R.id.displayname, R.id.thumbnail});
}

@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView title = view.findViewById(R.id.title);
TextView name = view.findViewById(R.id.displayname);
ImageView thumbnail = view.findViewById(R.id.thumbnail);

MediaMetadataRetriever mmr = new MediaMetadataRetriever();
byte[] rawArt;
Bitmap art = null;
BitmapFactory.Options bfo=new BitmapFactory.Options();

mmr.setDataSource(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID)));
rawArt = mmr.getEmbeddedPicture();

if (null != rawArt)
art = BitmapFactory.decodeByteArray(rawArt, 0, rawArt.length, bfo);

thumbnail.setImageBitmap(art);

name.setText(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE)));

title.setText(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST)));


view.setTag(cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA)));

}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.song_list, parent, false);

bindView(v, context, cursor);

return v;
}
}

Audio thumbnail

最佳答案

This是获取音频文件缩略图的方法。如果返回空值,则表示音频没有图像。您还可以为音频设置默认缩略图图标,或将可绘制对象中的资源用作默认资源。

关于android - 如何在android中显示音频文件的缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com