老套路先(献)上图

1.说下核心,Glide提供了直接加载内容提供者的方法用于显示图片

2.Glide加载的图片的格式如下

content://com.yhsh.app.media.server.usb.media.music?filePath=/storage/F299-6882/IU,太妍 - 기다리다 (合成版).mp3"

问号前面标识的是播放U盘音乐APP的provider配置的android:authorities

 <providerandroid:process="@string/usb_music_server_process_name"android:name="com.yhsh.app.media.server.usbmusic.provider.MusicMediaProvider"android:authorities="com.yhsh.app.media.server.usb.media.music"android:exported="true" />

问号后面标识mp3文件的全路径

然后就是上代码了

生成content: 路径的方法

private static final String AUTHORITY_MUSIC = "com.yhsh.app.media.server.usb.media.music";private static final Uri AUTHORITY_URI_MUSIC = Uri.parse("content://" + AUTHORITY_MUSIC);private static final String KEY_FILE_PATH = "filePath";/*** 根据mediaId获取usb音乐的封面地址.** @param mediaId usb音乐的路径.* @return 获取封面的地址.*/public String getMusicThumbnailPath(String mediaId) {//从数据库查询.Uri.Builder builder = AUTHORITY_URI_MUSIC.buildUpon();builder.appendQueryParameter(KEY_FILE_PATH, mediaId);Uri thumbUri = builder.build();return thumbUri.toString();}

加载U盘mp3文件的专辑图片的方法

  public void loadImage(Context mContext, String thumbnailPath) {Glide.with(mContext).asBitmap().load(thumbnailPath).into(new CustomTarget<Bitmap>() {@Overridepublic void onResourceReady(@NotNull Bitmap resource, Transition<? super Bitmap> transition) {Log.d(TAG, "load image success -> " + resource);BitMap bt  = resource;//自己设置bitmap即可}@Overridepublic void onLoadCleared(Drawable placeholder) {Log.d(TAG, "load image cleared");}@Overridepublic void onLoadFailed(@Nullable Drawable errorDrawable) {Log.i(TAG, "load image fail -> , onLoadFailed");//加载失败后自己设置默认图即可}});}

好了,我们再来看下完整代码

package com.yhsh.app.remoteview.util;import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.util.Log;import androidx.annotation.Nullable;import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition;import org.jetbrains.annotations.NotNull;/*** @author xiayiye5* @date 2022/5/11 21:12* 用于加载U盘音乐专辑图片的工具类*/
public class LoadMusicImageUtils {/*** Glide.with(mContext).asBitmap().load("content://com.yhsh.app.media.server.usb.media.music?filePath=/storage/F299-6882/IU,太妍 - 기다리다 (合成版).mp3")*/private static final String AUTHORITY_MUSIC = "com.yhsh.app.media.server.usb.media.music";private static final Uri AUTHORITY_URI_MUSIC = Uri.parse("content://" + AUTHORITY_MUSIC);private static final String KEY_FILE_PATH = "filePath";private static final String TAG = "LoadMusicImageUtils";private LoadMusicImageUtils() {}private static final LoadMusicImageUtils LOAD_MUSIC_IMAGE_UTILS = new LoadMusicImageUtils();public static LoadMusicImageUtils getInstance() {return LOAD_MUSIC_IMAGE_UTILS;}/*** 加载U盘音乐专辑图片的方法** @param mContext      上下文* @param thumbnailPath 图片path*/public void loadImage(Context mContext, String thumbnailPath) {Glide.with(mContext).asBitmap().load(thumbnailPath).into(new CustomTarget<Bitmap>() {@Overridepublic void onResourceReady(@NotNull Bitmap resource, Transition<? super Bitmap> transition) {Log.d(TAG, "load image success -> " + resource);BitMap bt  = resource;//自己设置bitmap即可}@Overridepublic void onLoadCleared(Drawable placeholder) {Log.d(TAG, "load image cleared");}@Overridepublic void onLoadFailed(@Nullable Drawable errorDrawable) {Log.i(TAG, "load image fail -> , onLoadFailed");}});}/*** 根据mediaId获取usb音乐的封面地址.** @param mediaId usb音乐的路径.* @return 获取封面的地址.*/public String getMusicThumbnailPath(String mediaId) {//从数据库查询.Uri.Builder builder = AUTHORITY_URI_MUSIC.buildUpon();builder.appendQueryParameter(KEY_FILE_PATH, mediaId);Uri thumbUri = builder.build();return thumbUri.toString();}
}

Android开发之Glide加载U盘音乐的专辑图片的方法 | Glide加载content:图片 | Glide加载内容提供者 | Glide加载MP3专辑图片 | Glide加载音乐专辑图片相关推荐

  1. Android开发之listview添加头布局(header)和脚布局(footer)的方法

    我们先说下添加的方法 方法一:正常添加lvCouponList.addHeaderView(headerView);lvCouponList.addFooterView(footerView); 方法 ...

  2. android图标随着进度条动画,Android开发之ProgressBar字体随着进度条的加载而滚动...

    在网上翻阅了很多关于ProgressBar滚动效果,但是始终没有找到适合项目中的这种效果,故自己写这篇文章,记录一下写作过程,给大家做一个参考.先看下最终效果效果图 我这里用的是LICEcap软件录制 ...

  3. Android开发之QQ空间效果(QQ空间下拉图片放大,松手后回弹)

    Android开发之QQ空间效果(QQ空间下拉图片放大,松手后回弹) 腾讯QQ空间的下拉图片放大,松手后回弹的效果带来的视觉差异效果让许多移动开发者心动不已,经本人一段时间的研究,终于实现了该视差效果 ...

  4. android 图库分析,Android开发之ImageSwitcher相册功能实例分析

    本文实例讲述了Android开发之ImageSwitcher相册功能.分享给大家供大家参考,具体如下: 简介: 1.ImageSwitcher是viewSwitcher的子类,所以ImageSwitc ...

  5. android之json解析优化,Android开发之json解析

    目前正在尝试着写app,发现看懂代码和能写出来差距很大,最关键的是java基础比较的差,因为只会python,java基础只学习了一个礼拜就过了.感觉java写出来的代码不如python简单明了. 上 ...

  6. Android 开发之旅:深入分析布局文件又是“Hello World!”

    引言 上篇可以说是一个分水岭,它标志着我们从Android应用程序理论进入实践,我们拿起手术刀对默认的"Hello World!"程序进行了3个手术,我们清楚了"Hell ...

  7. android中oncreate方法,android开发之onCreate( )方法详解

    这里我们只关注一句话:This is where you should do all of your normal static set up.其中我们只关注normal static, normal ...

  8. Android开发之ViewFlipper

    Android开发之ViewFlipper /* *  Android开发之ViewFlipper *  北京Android俱乐部群:167839253 * Created on: 2012-7-25 ...

  9. android开发之onCreate( )方法详解

    android开发之onCreate( )方法详解 onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Go ...

  10. Android开发之TextView高级应用

    Android开发之TextView高级应用 我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此.以下就和大家分享一下TextView的一些使用技巧. A ...

最新文章

  1. python 利用多进程实现文件的拷贝
  2. PhotoFiltre Studio X中文版
  3. 解决Extjs中textarea不支持keyup事件的问题
  4. spring的Aop使用问题
  5. ethernet调试工具_开发者分享 | 如何调试10G/25G以太网IP自协商/Link Training
  6. 蓝桥杯 ADV-202 算法提高 最长公共子序列
  7. Android开发之引用framework.jar中的方法 | 引用framework.jar包
  8. numpy 辨异(三)—— hstack/column_stack,linalg.eig/linalg.eigh
  9. 阿里云服务器端口请求失败(在控制台把端口添加到服务器的安全组)
  10. Gephi绘制网络图初步探索
  11. 淘淘商城系列——VMware添加已配置好的虚拟机
  12. uat测试和sit测试_测试三角形,金字塔和圆形以及UAT
  13. 【航拍中国第二季】甘肃笔记
  14. MP3歌词的同步与拖拽设计
  15. fopen 参数'rb' 与'rb+'引发的黑色血案
  16. inet_addr,inet_pton,inet_aton 用法
  17. 广义表的定义,特性,及表头和表尾怎么看?
  18. 美工页面怎么排版?排版设计需要注意什么要点?
  19. 用python 实现发射爱心
  20. (74)项目中的亮点是什么?

热门文章

  1. IBM X3650 M3 管理口IP如何更改
  2. 计算机视觉技术公司列表
  3. 鼎镁科技冲刺上交所:年营收18亿 拟募资13亿
  4. 8225A 程序C语言,《C语言程序设计》课程改革与实践
  5. 数据分析之前程无忧(一)
  6. 计算机office简介,Office Online 简介
  7. php帝国工具箱下载,使用PHP工具箱安装帝国CMS建站系统
  8. base64对于图片的部分处理
  9. 用JavaScript打印三角形、金字塔型
  10. 苹果手机怎样快速翻译网页?利用Safari有妙招!