某程序猿从某度搜索到的某易云音乐接口中偷取的mp3文件通常是没有附带信息的,对于一些强迫症来说,简直不能忍,因此要下载mp3文件的时候顺便把附带信息嵌进去。
搜索资料发现,主流的mp3信息标记大多使用ID3v2.3,python恰好有mutagen库专门搞这些的。
mutagen官方文档介绍了ID3里的各种标签的用途,只要明确自己的目标就可以找得到想要修改的标签了。
点击查看mutagen官方文档ID3
from mutagen.id3 import ID3, APIC, TIT2, TPE1, TALB
#传入mp3、jpg的本地路径以及其他字符串
def setSongInfo(songfilepath, songtitle, songartist, songalbum, songpicpath):
audio = ID3(songfilepath)
img = open(songpicpath,'r')
audio.update_to_v23() #把可能存在的旧版本升级为2.3
audio['APIC'] = APIC( #插入专辑图片
encoding=3,
mime='image/jpeg',
type=3,
desc=u'Cover',
data=img.read()
)
audio['TIT2'] = TIT2( #插入歌名
encoding=3,
text=[songtitle]
)
audio['TPE1'] = TPE1( #插入第一演奏家、歌手、等
encoding=3,
text=[songartist]
)
audio['TALB'] = TALB( #插入专辑名称
encoding=3,
text=[songalbum]
)
audio.save() #记得要保存
img.close()
下载的mp3嵌入了专辑封面.png
关于如何获取某易云音乐的这些mp3、jpg等信息,请看下回分解。
网友评论