如何使用mutagen(Python和Django)获取音乐标题、艺术家和专辑封面?

3

所以,我正在使用mutagen来获取网站上上传的音乐文件的信息。我尝试了以下代码:

import mutagen
mutagen.File(filePath)

它显示以下信息:

{'TXXX:compatible_brands': TXXX(encoding=<Encoding.UTF8: 3>, desc='compatible_brands', text=['isommp42']), 'TXXX:minor_version': TXXX(encoding=<Encoding.UTF8: 3>, desc='minor_version', text=['0']), 'TXXX:major_brand': TXXX(encoding=<Encoding.UTF8: 3>, desc='major_brand', text=['mp42']), 'TSSE': TSSE(encoding=<Encoding.UTF8: 3>, text=['Lavf57.56.101'])}

这段代码不应该按照文档描述打印艺术家和标题吗?我感到困惑。它被编码了吗?如果是,我怎么解码它?

找到了解决方案:请参见下面的答案


你传递的文件类型是什么?filePath参数实际上是什么? - Exprator
@Exprator filePath = 'musics/a.mp3'@Exprator filePath = 'musics/a.mp3' - Sphinx
不,你无法将“musics/a.mp3”发送到mutagen,你需要执行 mutagen.File('a.mp3') - Exprator
@Exprator 我再次得到了相同的结果。而且,为什么我不能发送文件路径?我不太理解文档。我的文件保存在一个目录中,我希望我的 Django 视图获取音乐文件的艺术家和标题。我该如何使用 mutagen 实现呢? - Sphinx
1个回答

5

尝试

mutagen.File(filePath, easy=True)

这应该可以工作。注意:如果您尝试此代码后得到 {},则说明您的音乐文件没有元数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接