[英]Android studio Glide
有人可以帮我处理这个 Mediadata Retriever 吗?
==================================================== ==================================================== ====
日志猫:
Process: com.musicapp.android.musicapp, PID: 8376
java.lang.IllegalArgumentException
at com.musicapp.android.musicapp.MusicCustomAdapter.getSongArt(MusicCustomAdapter.java:87)
com.musicapp.android.musicapp.MusicCustomAdapter.onBindViewHolder(MusicCustomAdapter.java:42)
代码:
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
holder.artist_Name.setText(newSong_list.get(position).getArtist_Name());
holder.songTitle.setText(newSong_list.get(position).getSongTitle());
holder.songDuration.setText(newSong_list.get(position).getSongDuration());
42 byte[] image = getSongArt(newSong_list.get(position).getPath());
if (image != null){
Glide.with(context)
.asBitmap()
.load(image)
.into(holder.SongCover);
}else{
Glide.with(context)
.load(R.drawable.allsongs)
.into(holder.SongCover);
}
=============================================================================
private byte[] getSongArt(String uri){
MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
87 mediaMetadataRetriever.setDataSource(uri);
byte[] art = mediaMetadataRetriever.getEmbeddedPicture();
mediaMetadataRetriever.release();
return art;
}
试试这个向我展示你代码的其他。
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
holder.artist_Name.setText(newSong_list.get(position).getArtist_Name());
holder.songTitle.setText(newSong_list.get(position).getSongTitle());
holder.songDuration.setText(newSong_list.get(position).getSongDuration());
String image = newSong_list.get(position).getPath());
if (image != null){
Glide.with(context)
.asBitmap()
.load(image)
.into(holder.SongCover);
}else{
Glide.with(context)
.load(R.drawable.allsongs)
.into(holder.SongCover);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.