Tôi đã sử dụng mutagen để đọc và viết các thẻ MP3, nhưng tôi muốn có thể nhúng trực tiếp album nghệ thuật vào tệp.Làm cách nào để nhúng ảnh bìa album vào MP3 bằng Python?
Trả lời
Tôi đã sử dụng các mô-đun eyeD3 để làm điều này chính xác.
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()
Theo v0.7, cách sử dụng giống như sau: 'audiofile = eyed43.load (file_name)' và 'audiofile.tag.artist = artist', v.v. Xem: http://eyed3.nicfit.net/ –
Blog này thực hiện tốt công việc triển khai thực hiện eyed3 bằng API cập nhật và mới nhất. http://tuxpool.blogspot.in/2013/02/how-to-store-images-in-mp3-files-using.html –
Sau đây là cách để thêm example.png làm bìa album vào example.mp3 với mutagen:
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()
Điều này không hiệu quả; Tôi làm theo các mã ở trên và tôi nhận được "TypeError: một số nguyên là cần thiết" – Tensigh
Đối với tôi không, tôi nhận được: 'TypeError: 'str' đối tượng không thể được hiểu là một số nguyên'. Toàn bộ dấu vết và nguồn ở đây: https://gist.github.com/brutus/69c51cd706a6cf5d1594 – Brutus
Tôi thấy cần sử dụng 'v2_version = 3' trong' save' để các thẻ mới có thể được đọc bởi Windows 7 và tôi đơn giản hóa mã này bằng cách đọc trực tiếp vào một đối tượng 'ID3'. Nếu không câu trả lời này là hoàn hảo, không có lỗi nào được báo cáo bởi người khác. –
A nice công cụ CLI nhỏ đó đã giúp tôi rất nhiều với việc kiểm tra những gì tôi đã làm trong khi phát triển id3 công cụ là mid3v2 là phiên bản mutagen của id3v2. Nó đi kèm với thư viện mutagen Python. Nguồn gốc của công cụ nhỏ này đã cho tôi rất nhiều câu trả lời về cách sử dụng mutagen.
Bạn đang cố gắng nhúng hình ảnh vào nhiều tệp? Nếu vậy, tôi tìm thấy một kịch bản (xem liên kết) mà đi qua một tập hợp các thư mục, tìm kiếm hình ảnh, và nhúng chúng vào các tập tin MP3. Điều này rất hữu ích cho tôi khi tôi muốn thực sự có một cái gì đó để xem xét trong CoverFlow trên iPhone của tôi (bây giờ không còn tồn tại).
Liên kết đã hết hạn. – raincrash
không phải là một ý tưởng tồi sao? Bạn sẽ không tăng kích thước mp3 của bạn bằng cách nhúng cùng một hình ảnh nhiều lần trên tất cả mp3 của một album duy nhất? Album nghệ thuật phải thuộc về thư mục chứa album. – nosklo
@nosklo có máy nghe nhạc mp3 chỉ hiển thị hình ảnh nhúng và không phải là một trong nằm trong thư mục – sdu
@nosklo Tôi đã tìm thấy rằng các tệp mp3 của tôi quá lớn đến mức hình thu nhỏ không tạo ra nhiều khác biệt. Tôi ước tính kích thước trung bình của mình là 6MB, tôi cho phép hình thu nhỏ của mình lên tới 60KB để chúng chỉ thêm 1% vào kích thước tệp. Với JPEG hóa ra rất nhiều. –