有人能帮我解决这个Mediadata Retriever吗?
=
LogCat:
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;
}发布于 2020-06-26 13:08:28
试试另一个,让我看看你的代码。
@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);
}https://stackoverflow.com/questions/62586391
复制相似问题