使用Python访问mp3元数据

问题:

在python中检索mp3元数据的最佳方式是什么?我已经看到了几个框架,但我不确定哪个将是最好的使用….任何想法?

回答:

我在第二天使用eyeD3很多成功。我发现它可以添加到ID3标签的图片,其他模块我看不到。您必须从源文件夹下载tar并执行python setup.py install
网站上的相关例子如下。
阅读包含v1或v2标签信息的mp3文件的内容:

 import eyeD3
 tag = eyeD3.Tag()
 tag.link("/some/file.mp3")
 print tag.getArtist()
 print tag.getAlbum()
 print tag.getTitle()

读取mp3文件(音轨长度,比特率等)并访问它的标签:

if eyeD3.isMp3File(f):
     audioFile = eyeD3.Mp3AudioFile(f)
     tag = audioFile.getTag()

可以选择特定的标签版本:

 tag.link("/some/file.mp3", eyeD3.ID3_V2)
 tag.link("/some/file.mp3", eyeD3.ID3_V1)
 tag.link("/some/file.mp3", eyeD3.ID3_ANY_VERSION)  # The default.

或者您可以遍历原始框架:

 tag = eyeD3.Tag()
 tag.link("/some/file.mp3")
 for frame in tag.frames:
    print frame

一旦标签被链接到一个文件,它可以被修改和保存:

 tag.setArtist(u"Cro-Mags")
 tag.setAlbum(u"Age of Quarrel")
 tag.update()

如果链接的代码是v2,并且您要将其保存为v1:

 tag.update(eyeD3.ID3_V1_1)

读取标签并将其从文件中删除:

 tag.link("/some/file.mp3")
 tag.remove()
 tag.update()

添加新标签:

 tag = eyeD3.Tag()
 tag.link('/some/file.mp3')    # no tag in this file, link returned False
 tag.header.setVersion(eyeD3.ID3_V2_3)
 tag.setArtist('Fugazi')
 tag.update()

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Accessing mp3 Meta-Data with Python

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

56 + = 63