gpt4 book ai didi

android - 将封面艺术添加到 Android 上下载的 mp3

转载 作者:行者123 更新时间:2023-11-29 14:28:25 24 4
gpt4 key购买 nike

如何以编程方式将封面艺术(专辑艺术)添加到下载的 mp3?

我让我的应用通过 DownloadManager 从 Android APIS 下载一个 mp3 文件,如下所示:

private void startDownload(){
Uri uri = Uri.parse(BASE_URL+DOWNLOAD+mp3+".mp3");

filename = title+".mp3";

Request request = new DownloadManager.Request(uri)
.setDestinationInExternalPublicDir(MUSIC_PATH, filename);

DOWNLOAD_MANAGER.enqueue(request);
}

可否给下载的mp3文件加上封面,让手机上的mp3播放器在播放歌曲时显示图像?

最佳答案

下载此 jar 文件 MyID3_for_android并将其添加到项目的构建路径中。这是您如何更改封面的示例代码

        File src = new File("filepath");
MusicMetadataSet src_set = new MyID3().read(src);

File img = (new File("imagePath"));


Vector<ImageData> fileList = new Vector<ImageData>();
ImageData data = new ImageData(readFile(img), "", "", 3);
fileList.add(data);

MusicMetadata metadata = (MusicMetadata) src_set.getSimplified();
metadata.setPictureList(fileList);

File dst = new File("destinationPath");

new MyID3().write(src, dst, src_set, metadata);

您还需要 Jakarta Regex jar

readFile只是一个从File中获取byte[]的函数

public static byte[] readFile (File file) throws IOException {
// Open file
RandomAccessFile f = new RandomAccessFile(file, "r");

try {
// Get and check length
long longlength = f.length();
int length = (int) longlength;
if (length != longlength) throw new IOException("File size >= 2 GB");

// Read file and return data
byte[] data = new byte[length];
f.readFully(data);
return data;
}
finally {
f.close();
}
}

从 stackOverflow 得到的,不知道是谁 :)

关于android - 将封面艺术添加到 Android 上下载的 mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11510075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com