diff --git a/test/test_music_tags.py b/test/test_music_tags.py index 8025b79..5ca5f13 100644 --- a/test/test_music_tags.py +++ b/test/test_music_tags.py @@ -36,8 +36,9 @@ async def main(directory): # await test_one_music(file) pass - await test_one_music("./music/一生何求.mp3") - await test_one_music("./music/程响-人间烟火.flac") + await test_one_music("./music/4.mp3") + # await test_one_music("./music/4 In Love - 一千零一个愿.mp3") + # await test_one_music("./music/程响-人间烟火.flac") if __name__ == "__main__": diff --git a/xiaomusic/utils.py b/xiaomusic/utils.py index 3861404..a442f3b 100644 --- a/xiaomusic/utils.py +++ b/xiaomusic/utils.py @@ -26,7 +26,7 @@ import aiohttp import mutagen from mutagen.asf import ASF from mutagen.flac import FLAC -from mutagen.id3 import ID3, Encoding, TextFrame, TimeStampTextFrame +from mutagen.id3 import APIC, ID3, Encoding, TextFrame, TimeStampTextFrame from mutagen.mp3 import MP3 from mutagen.mp4 import MP4 from mutagen.oggvorbis import OggVorbis @@ -609,9 +609,11 @@ def extract_audio_metadata(file_path, save_root): metadata.album = _get_tag_value(tags, "TALB") metadata.year = _get_tag_value(tags, "TDRC") metadata.genre = _get_tag_value(tags, "TCON") - if "APIC:" in tags: - metadata.picture = _save_picture(tags["APIC:"].data, save_root, file_path) metadata.lyrics = _get_alltag_value(tags, "USLT") + for tag in tags.values(): + if isinstance(tag, APIC): + metadata.picture = _save_picture(tag.data, save_root, file_path) + break elif isinstance(audio, FLAC): metadata.title = _get_tag_value(tags, "TITLE")