繁体   English   中英

Android工作室滑翔

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM