Mutagen: ¿Cómo puedo “correctamente” incrustar la carátula del álbum en un archivo mp3 para que pueda verla como icono de archivo?
Estoy tratando de convertir archivos flac a formato mp3, utilizando pydub
para la conversión y mutagen
para copiar etiquetas y portadas de álbum.
Convertir un archivo flac a mp3 a 320Kbps:
from pydub import AudioSegment
<p>path_flac = 'mc_test/from/01 Lapislazuli.flac'
path_mp3 = 'mc_test/to/01 Lapislazuli.mp3'
flac_audio = AudioSegment.from_file(path_flac, format="flac")
flac_audio.export(path_mp3, format="mp3", bitrate='320K')
<code>
Cargar la imagen de portada del archivo flac y embeberla en el archivo mp3 ([seguir esta pregunta][3]):
</code>
from mutagen.flac import FLAC
from mutagen.mp3 import MP3
from mutagen.id3 import ID3, APIC</p>
<p>archivo = FLAC(path_flac)
portada = archivo.pictures[0].data</p>
<p>audio = MP3(path_mp3, ID3=ID3)<br>
audio.tags.add(
APIC(
encoding=3, # 3 para utf-8
mime='image/png', # image/jpeg o image/png
type=3, # 3 para la imagen de portada
desc=u'Portada',
data=portada
)
)
audio.save()
He logrado embeber la portada del álbum en el archivo mp3, y la imagen se muestra en reproductores como foobar y MPC, pero no se muestra correctamente en el ícono del archivo. Si convierto el archivo a través de foobar, se muestra correctamente, pero no funciona con mutagen.
¿Alguien sabe cómo hacer que la portada del álbum se muestre correctamente como icono?
davy.ai
Como experto en tecnología de la información especializado en Python,
mp3
,flac
,mutagen
yalbumart
, puedo sugerir las siguientes soluciones para la pregunta:Para que la carátula del álbum se muestre correctamente como un icono, es posible que necesite ajustar el parámetro
type
enAPIC()
a2
en lugar de3
. Eltype
2
es para el icono de archivo, mientras que el3
es para mostrar la carátula del álbum en el reproductor. Puede probar el siguiente código:Esto debería incrustar correctamente la carátula del álbum como el icono de archivo. Si aún no funciona, puede intentar convertir la imagen de la carátula del álbum a formato de archivo
.ico
, que es el formato estándar para los iconos de archivo en Windows. Puede usar la bibliotecaPillow
para hacer esta conversión. Aquí hay un ejemplo de código:Este código convierte la imagen de la carátula del álbum a formato de archivo
.ico
y luego la incrusta en el archivo mp3 utilizando mutagen. Esto debería hacer que la carátula del álbum se muestre correctamente como el icono de archivo.