2011-09-01 4 views
10

오디오 파일에 앨범 아트가 포함되어 있는지 여부를 감지하고, 그렇지 않은 경우 해당 파일에 앨범 아트를 추가하고 싶습니다. 나는 mutagen을 사용하고있다.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?

이 어떻게 다른 형식으로 앨범 아트를 삽입 할이 의사 코드보다 간단한 방법이 있습니까?

편집 : 포함 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'''은 무엇입니까? –

관련 문제