16

特定の mp3 ファイルのアルバム アートとして画像を設定するには、どのモジュールを使用すればよいか考えていました。Mutagen は一般的な選択肢のようですが、python 3 では動作しないようで、ドキュメントも見つかりません。

4

2 に答える 2

24

これは、私が使用するコードの修正版です。example.mp3and cover.jpg(およびおそらく MIME タイプも)を変更する必要があります。

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()次の 3 つの引数を取ります。

  • 画像の種類: これは画像の種類です。3表紙絵のコードです。それらはすべてここで見つけることができます。
  • 画像データ: これは画像のバイナリ データです。例では、これを using でロードしopen().read()ます。
  • Mime Type : これは、バイナリ データのファイルのタイプです。jpgファイルの場合はimage/jpegpngファイルの場合は が必要ですimage/png
于 2016-09-04T12:21:42.880 に答える
5

上記の回答に加えて、これが私が2日間苦労したことです:

ID3 バージョンを「V2.3」に設定する必要があります。そうしないと、ファイル アイコンに写真が表示されません。また、MP3 ファイルごとに異なるアルバム名を設定する必要があります。そうしないと、音楽プレーヤーが勝手に動作し、AlbumArt がなくてもすべての音楽ファイルに対して同じ AlbumCover が表示されるためです。

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)

ファイル名は音楽プレーヤーでは表示されないので、タイトルも設定した方がよいでしょう。

を使用するaudio.initTag()と、必要に応じてタグ情報をワイプすることもできます。

于 2020-04-25T23:37:10.860 に答える