Как вы вставляете обложку альбома в MP3, используя Python? - PullRequest
27 голосов
/ 04 января 2009

Я использовал мутаген для чтения и записи тегов MP3, но я хочу иметь возможность вставлять обложки альбомов прямо в файл.

Ответы [ 5 ]

36 голосов
/ 21 декабря 2009

Вот как добавить example.png в качестве обложки альбома в example.mp3 с мутагеном:

from mutagen.mp3 import MP3
from mutagen.id3 import ID3, APIC, error

audio = MP3('example.mp3', ID3=ID3)

# add ID3 tag if it doesn't exist
try:
    audio.add_tags()
except error:
    pass

audio.tags.add(
    APIC(
        encoding=3, # 3 is for utf-8
        mime='image/png', # image/jpeg or image/png
        type=3, # 3 is for the cover image
        desc=u'Cover',
        data=open('example.png').read()
    )
)
audio.save()
12 голосов
/ 16 июня 2009

Я использовал модуль eyeD3 , чтобы сделать именно это.

def update_id3(mp3_file_name, artwork_file_name, artist, item_title):    
    #edit the ID3 tag to add the title, artist, artwork, date, and genre
    tag = eyeD3.Tag()
    tag.link(mp3_file_name)
    tag.setVersion([2,3,0])
    tag.addImage(0x08, artwork_file_name)
    tag.setArtist(artist)
    tag.setDate(localtime().tm_year)
    tag.setTitle(item_title)
    tag.setGenre("Trance")
    tag.update()
3 голосов
/ 04 января 2009

Похоже, вы должны добавить специальный тип кадра в MP3. Смотрите сайт по тегам ID3

Кроме того, учебник по мутагену предполагает, что вы можете добавить теги ID3 в мутаген см.

1 голос
/ 17 октября 2010

Возможное решение

Вы пытаетесь встраивать изображения во множество файлов? Если так, я нашел скрипт (см. Ссылку), который просматривает набор каталогов, ищет изображения и встраивает их в файлы MP3. Это было полезно для меня, когда я действительно хотел увидеть что-то в CoverFlow на моем (теперь уже не существующем) iPhone.

0 голосов
/ 25 декабря 2009

Хороший небольшой инструмент CLI, который мне очень помог с проверкой того, что я делал при разработке id3, - это mid3v2, который является мутагенной версией id3v2. Он поставляется в комплекте с библиотекой мутагенов Python. Источник этого небольшого инструмента дал мне также много ответов о том, как использовать мутаген.

...