I was wondering what module to use for setting an image as the album art for a particular mp3 file. Mutagen seemed to be a popular choice, but it doesn't seem to work on python 3 and I can't find any documentation.
an addition to answers above, here is what I struggled on for two days:
you have to set the ID3 version to "V2.3", otherwise the photo won't show up for the file icon. also you have to set a different album name for each MP3 file because otherwise the music player shits itself and shows the same AlbumCover for all music files even if they don't have any AlbumArt
audio.tag.title = u'your_title'
audio.tag.album = u'your_album_name'
audio.tag.images.set(3, open("cover.jpg", 'rb').read(), 'image/jpeg')
audio.tag.save(version=eyed3.id3.ID3_V2_3)
you'd better set a title too because file name won't be displayed in music players.
using the audio.initTag()
can also wipe the tag information if you would want that.
Here's a modified version of the code I use. You will want to change the example.mp3
and cover.jpg
(and perhaps the mime type too):
import eyed3
from eyed3.id3.frames import ImageFrame
audiofile = eyed3.load('example.mp3')
if (audiofile.tag == None):
audiofile.initTag()
audiofile.tag.images.set(ImageFrame.FRONT_COVER, open('cover.jpg','rb').read(), 'image/jpeg')
audiofile.tag.save()
tag.images.set()
takes three arguments:
3
is the code for the front cover art. You can find them all here.open().read()
.jpg
file, you'll want image/jpeg
, and if it's a png
file, you'll want image/png
.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With