Windows Media Playerがカバー画像を表示しない理由はタグのバージョンが違うから

メディアプレイヤーがカバー画像を表示してくれない!

フォルダ内の各音声ファイルにカバー画像を埋め込んで、アルバム名とトラック名を設定して、フォルダ内にcover.jpgも配置して・・・
なのにメディアプレイヤーでは画像が表示されない!なにゆえ!?
(注: 2025/05/12時点、メディアプレイヤーバージョン 11.2503.5.0で確認した話です。いつか対応してくれる日が来るかもしれません。)

ところで、カバー画像とジャケット画像、どっちで呼ぶべきなんですかね。ジャケット画像が全体、カバー画像が個別の音楽なのでしょうか。

結論: タグのバージョン違い

Mp3Tagで見たところ、カバー画像が表示されているフォルダではタグがID3v2.3、表示されていないfolderではID3v2.4でした。
タグIDをID3v2.3に変更したところ、カバー画像が表示されるようになりました。

おまけ:
私はこの変更を以下のようなpythonの関数を作成して行いましたが、まあどんなツールでも変更できればいいと思います。mutagenというものを使えば簡単にできました。最後のaudio.save()のところでバージョン指定するのが必要で、これがないとv2.4になってしまっていたようです。

from mutagen.mp3 import MP3
from mutagen.id3 import ID3, APIC, TALB, TRCK


def embed_metadata(mp3_path, album_title, image_path, track_number=None):
    audio = MP3(mp3_path, ID3=ID3)
    try:
        audio.delete()  # 既存の全タグを削除
    except Exception as e:
        print(f"Warning: couldn't delete tags: {e}")

    audio.tags = ID3()
    audio.tags.add(TALB(encoding=3, text=album_title))  # UTF-8
    if track_number is not None:
        audio.tags.add(TRCK(encoding=3, text=str(track_number)))
    with open(image_path, "rb") as img_file:
        audio.tags.add(
            APIC(
                encoding=3,  # UTF-8
                mime="image/jpeg",  # JPEG画像
                type=3,  # Front cover
                desc="cover.jpg",
                data=img_file.read(),
            )
        )
    audio.save(v2_version=3)

まとめ

何とかならんかね、こういうのは・・・
そんなに対応難しいんですかね。頑張ってほしいものです。

コメント

タイトルとURLをコピーしました