0

我尝试了 mutagen EasyID3 类来检索这个标签(在 mp3 上我确定这个标签存在)并且它没有出现在返回的标签列表中。

这是我正在谈论的Itunes评级标签。

似乎我缺少有关此特定标签的重要信息(不同的标准?不是 ID3?),但我在诱变剂文档中找不到任何帮助。

4

2 回答 2

1

如前所述,iTunes 不在 mp3 标签中存储评分。评级存储在“iTunes Music Library.xml”文件中,该文件通常位于“\Music\iTunes”文件夹中。

您可以在 win32com 库的帮助下访问星级。使用 pip 安装模块。去这里查看最新版本:

https://pypi.org/project/pywin32/

我通常通过在 iTunes 中选择一组曲目并循环播放它们来使用此模块。这意味着您需要打开 iTunes 并转到一组歌曲,比如专辑中的歌曲。选择所有这些曲目,ctrl+a。然后转到您的 python IDE,编写代码并运行它。将此用作模板:

# import mutagen, however you need to
import win32com.client

itunes = win32com.client.Dispatch('iTunes.Application')
tracks = itunes.SelectedTracks
track_count = tracks.Count

while track_count:
    current_track = tracks.Item(track_count)
    rating = current_track.Rating
    location = current_track.Location
    # Do things in mutagen here
    track_count -= 1

因此,在该循环中,将位置变量传递给您打开文件所需的任何诱变方法/函数。然后将 rating 或 str(rating) 传递给适当的 id3 字段,它看起来像 POPM 字段(允许值 1-255)。

您确实需要考虑其他一些事项。POPM 评级字段是否足够?您是否应该为 1-5、0-100 评级创建自己的 id3 字段?

从 iTunes 获得评级是容易的部分。弄清楚你想如何将它写入 ID3 标签是困难的部分。

于 2019-10-19T04:13:28.240 回答
0

看起来 iTunes 中的评级未存储在 MP3 的 ID3 标签中。看看这里的讨论https://discussions.apple.com/thread/256205?start=0&tstart=0

因此,Mutagen 无法找回它。

于 2017-11-02T02:49:01.680 回答