android - 从 android mediastore、.audio.media 内容提供商检索轨道图像?

标签 android audio mediastore

可以从媒体存储音频内容提供商检索每个轨道图像吗?我不确定他们是否为每个音轨都有单独的图像,或者每个专辑是否只有一个图像。如果可能,请提供解决方案或相应的链接。

最佳答案

Android 不会将其保存为“轨道图像”,而是“专辑图像”。因此,您必须对相册数据进行另一次查询:

albumId 来自加载歌曲的光标:

long albumId = cursor.getLong(7);
Cursor artCursor = context.getContentResolver().query(
        MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
        new String[] {MediaStore.Audio.AlbumColumns.ALBUM_ART},
        MediaStore.Audio.Media._ID+" =?",
        new String[]{String.valueOf(albumId)},
        null);
String albumArt;
if(artCursor.moveToNext()) {
    albumArt = "file://"+artCursor.getString(0);
} else {
    albumArt = null;
}
artCursor.close();

if(albumArt != null) {
    BitmapFactory.decodeFile(new File(albumArt));
}

关于android - 从 android mediastore、.audio.media 内容提供商检索轨道图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23043123/

相关文章:

java - ActionBarActivity 无法解析。无法启动需要 Theme.AppCompat 的 Activity 。修复 Android 应用中的依赖关系

vb.net - My.Computer.Audio.Play上的FileNotFoundException异常

android - 如何在 Android 中查询 EMPTY 存储桶名称列表

Android - 更改由 onClick 事件触发的 LayerDrawable 项目的 alpha 值

android - 无法处理 webservice 方法调用中的线程?

audio - 将复合视频录制到音频文件

audio - 独立于ID3标签访问MP3音频数据?

android - 如何从 Android 中的 .mov 文件中获取缩略图?

Android:在 MediaStore 中查询期间出现磁盘 I/O 错误

android - 如何在flutter中显示本地html?