因此,我目前正在开发一个程序,以获取歌曲库中的所有音频文件,提取艺术家和歌曲标题,然后调用歌词API以获取每首歌曲的歌词。
我遇到了这个似乎无法解决的问题。
我使用TinyTag Python库(https://pypi.org/project/tinytag/)进行ID3标签读取。然后,我使用歌曲的歌手和标题并将其放入文本文件中,并使用|。作为分隔符。
这是输出: notepad++ screenshot
正如您所看到的,在一个文件上,艺术家名称后面有一个NUL值,我在Foobar和iTunes中编辑了Artist值,以尝试消除此问题,但没有成功。我什至在HxD中查看了mp3文件,但看不到任何会导致此NUL值的内容。
这是获取ID3标签并将其写入txt文件的功能:
def getFileTags(file):
try:
temp_track = TinyTag.get(file)
except IndexError:
print("Error mp3 parsing")
return
temp_track_artist = temp_track.artist
temp_track_title = temp_track.title
try:
temp_track_info = (temp_track_artist + "|" + temp_track_title + "\n")
return temp_track_info
except TypeError:
print("track info error " + str(temp_track_artist) + " " + str(temp_track_title) + str(file))
return