我尝试了mutagen EasyID3类来检索这个标签(在mp3上我确定这个标签存在)并且它没有显示在返回的标签列表中。
这是我正在谈论的Itunes评级标签。
似乎我缺少关于这个特定标签的重要信息(不同的标准?不是ID3?)但我在mutagen文档中找不到任何帮助。
答案 0 :(得分:0)
看起来iTunes中的评分未存储在MP3的ID3标签中。请看这里的讨论https://discussions.apple.com/thread/256205?start=0&tstart=0
因此,Mutagen无法检索它。
答案 1 :(得分:0)
就像以前所说的,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标签是困难的部分。