2011-09-01 22 views
10

Me gustaría poder detectar si un archivo de audio tiene una carátula del álbum incrustada y, si no, agregar carátula del álbum a ese archivo. Estoy usando mutagenmutágeno: cómo detectar e incrustar la carátula del álbum en mp3, flac y mp4

1) Detección de carátula del álbum. ¿Hay un método más sencillo que esto pseudo código:

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) me encontré con este para incrustar la portada del álbum en un archivo MP3: How do you embed album art into an MP3 using Python?

¿Cómo puedo incrustar la portada del álbum en otros formatos?

EDIT: mp4 incrustar

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() 

Respuesta

5

Insertar 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() 

Para completar, detectar la imagen

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

¿de dónde viene la función de la imagen() viene? ¿qué tienes que importar? – Danny

+4

es "de mutagen.flac import FLAC, Picture" deberías haber incluido esto en tu soulution – Danny

+0

A partir de ahora no hay '' 'File''' en' '' mutagen.flac'''. ¿Qué es exactamente '' 'File''', de dónde viene? –

Cuestiones relacionadas