一,用ffmpeg命令来操作
ffmpeg的编译方法很简单,下载源码后,不用做过多的配置和修改,普通的configure;make;make install就可以编过。
从音频文件中提取出专辑封面图片:
ffmpeg -i Jive_Cool.mp3 aaa.jpg
执行完这条命令后,专辑封面图片会保存在aaa.jpg文件中;
往音频文件中添加专辑封面:
ffmpeg -y -i audio1.mp3 -i cover.jpg -map 0:0 -map 1:0 -c copy -id3v2_version 3 audio2.mp3
执行完这条命令后,audio2.mp3中便会包含cover.jpg作为它的专辑封面了。
想要看源码?用ffmpeng库去编程解析获取专辑封面?抱歉,暂时没用ffmpeng编程过,如果以后用过再补上源码。
二,用开源库taglib进行专辑封面的获取,下面是源码片段:
ffmpeg的编译方法很简单,下载源码后,不用做过多的配置和修改,普通的configure;make;make install就可以编过。
从音频文件中提取出专辑封面图片:
ffmpeg -i Jive_Cool.mp3 aaa.jpg
执行完这条命令后,专辑封面图片会保存在aaa.jpg文件中;
往音频文件中添加专辑封面:
ffmpeg -y -i audio1.mp3 -i cover.jpg -map 0:0 -map 1:0 -c copy -id3v2_version 3 audio2.mp3
执行完这条命令后,audio2.mp3中便会包含cover.jpg作为它的专辑封面了。
想要看源码?用ffmpeng库去编程解析获取专辑封面?抱歉,暂时没用ffmpeng编程过,如果以后用过再补上源码。
二,用开源库taglib进行专辑封面的获取,下面是源码片段:
char *fileName = "/tmp/aa.mp3";
TagLib::MPEG::File f(fileName);
TagLib::ID3v2::FrameList frameList = f.ID3v2Tag()->frameListMap()["APIC"];
if (!frameList.isEmpty()) {
//这里取front就好了,back图片一般没用,有人在这里用iterator循环去取,应该就是担心front图片不存在,不过front图片不存在的话ÿ