特定の mp3 ファイルのアルバム アートとして画像を設定するには、どのモジュールを使用すればよいか考えていました。Mutagen は一般的な選択肢のようですが、python 3 では動作しないようで、ドキュメントも見つかりません。
質問する
9181 次
2 に答える
24
これは、私が使用するコードの修正版です。example.mp3
and 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/jpeg
、png
ファイルの場合は が必要です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 に答える