2011-09-01 45 views
10

私は、オーディオファイルにアルバムアートが埋め込まれているかどうかを検出できるようにしたいと思います。私は変異原を使用していますmutagen:mp3、flac、mp4でのアルバムアートの検出と埋め込み方法

1)アルバムアートを検出しています。この擬似コードよりも簡単な方法があります:

from mutagen import File 
audio = File('music.ext') 
test each of audio.pictures, audio['covr'] and audio['APIC:'] 
    if doesn't raise an exception and isn't None, we found album art 

2)私は、mp3ファイルにアルバムアートを埋め込むためのこれを見つけた: How do you embed album art into an MP3 using Python?

を私は他の形式にアルバムアートを埋め込むにはどうすればよいですか?

EDIT:埋め込みのMP4

audio = MP4(filename) 
data = open(albumart, 'rb').read() 

covr = [] 
if albumart.endswith('png'): 
    covr.append(MP4Cover(data, MP4Cover.FORMAT_PNG)) 
else: 
    covr.append(MP4Cover(data, MP4Cover.FORMAT_JPEG)) 

audio.tags['covr'] = covr 
audio.save() 

答えて

5

埋め込みFLAC:完全のために

from mutagen.flac import File, Picture, FLAC 

def add_flac_cover(filename, albumart): 
    audio = File(filename) 

    image = Picture() 
    image.type = 3 
    if albumart.endswith('png'): 
     mime = 'image/png' 
    else: 
     mime = 'image/jpeg' 
    image.desc = 'front cover' 
    with open(albumart, 'rb') as f: # better than open(albumart, 'rb').read() ? 
     image.data = f.read() 

    audio.add_picture(image) 
    audio.save() 

、絵を検出

def pict_test(audio): 
    try: 
     x = audio.pictures 
     if x: 
      return True 
    except Exception: 
     pass 
    if 'covr' in audio or 'APIC:' in audio: 
     return True 
    return False 
+2

どこピクチャー()関数は、から来るのでしょうか?あなたは何を輸入しなければなりませんか? – Danny

+4

これは "mutagen.flacからのFLAC、画像のインポート"です。これはあなたに含まれているべきです。 – Danny

+0

今のところ、 '' mutagen.flac'''には '' File'''がありません。正確に '' 'File'''とは何ですか、どこから来たのですか? –

関連する問題