Cyclops
@Cyclops
Циклоп

Как прикрепить изображение к аудиозаписи с помощью eyed3?

Пытаю прикрепить изображение к треку. Ошибок никаких нет, но в результате изображения как не было, так и нет.
Хоть показывает что в тегах, что-то записано.

from eyed3 import load
from eyed3.id3 import Tag
from eyed3.mp3 import Mp3AudioFile
from eyed3.plugins.art import ArtFile


file: Mp3AudioFile = load(file_title)
tag: Tag = Tag()
art: ArtFile = ArtFile('cover.jpg')
tag.images.set(type_=art.id3_art_type, img_data=art.image_data, mime_type=art.mime_type)
file.tag = tag
file.tag.save()


Скорее всего я что-то не так понял. Но остальные теги записываются. Проблема заключается лишь в картинке.
  • Вопрос задан
  • 209 просмотров
Решения вопроса 1
kentyxa14
@kentyxa14
kentyxa14
Здесь изменена версия кода, который я использую. Вы хотите изменить example.mp3 и cover.jpg (и, возможно, мим типа тоже):

import eyed3

audiofile = eyed3.load('example.mp3')
if (audiofile.tag == None):
    audiofile.initTag()

audiofile.tag.images.set(3, open('cover.jpg','rb').read(), 'image/jpeg')

audiofile.tag.save()

tag.images.set() принимает три аргумента:



Тип изображения: это тип изображения. 3 - код для обложки. Вы можете найти их здесь.
Данные изображения: это двоичные данные вашего изображения. В этом примере я использую open().read().
Mime Type: тип файла, который является двоичным. Если это файл jpg, вам понадобится image/jpeg, и если это файл png, вам понадобится image/png.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы