
Me gustaría crear listas de reproducción de archivos multimedia almacenados localmente y sincronizar estas listas de reproducción entre mis dispositivos (computadora de escritorio/portátil/teléfono). Sin embargo, hay un punto importante de fricción: debido a algunos cambios en la forma en que almacené mi biblioteca multimedia. A lo largo de los años, las rutas de los archivos no son necesariamente las mismas en todos mis dispositivos. Por lo tanto , los formatos de archivo comunes (p. ej .fpl
. .m3u
, , .pls
, .wpl
) que dependen de la ruta exacta del archivo no son adecuados.
En casi todos los casos, la ubicación donde está rooteado el medio diferirá según el dispositivo. Algunos reproductores multimedia son lo suficientemente inteligentes como para solucionar este problema y simplemente coinciden con el sufijo del archivo. Por ejemplo, si lo tengo D:\Music\Example Artist\Example Song.mp3
en la lista de reproducción, un reproductor de música podría reconocer $SOME_ANDROID_IDENTIFIER/AndroidMusic/Example Artist/Example Song.mp3
que coincide con la entrada. Cambiar la raíz de la biblioteca también es algo sencillo con un editor de texto si el reproductor de música no es lo suficientemente inteligente.
Sin embargo, esta estrategia generalmente no es lo suficientemente sólida como para sobrevivir a diferencias más complejas en el camino. Si la lista de reproducción contiene D:\Music\Example Artist\Example Song.flac
o D:\Music\Example Artist\Example Artist feat. Someone Else - 1-01 Example Song (2021).mp3
, buscar y reemplazar se vuelve mucho más complejo, hasta el punto de volverse insostenible para una biblioteca grande.
Mi solución ideal a este problema sería un formato de archivo basado en metadatos. En lugar de contener la ruta precisa del archivo, podría contener algo como el siguiente JSON:
{
songs: [
{
artist: "Example Artist",
title: "Example Song"
}
]
}
Dado que puedo garantizar la estabilidad de los metadatos básicos entre recodificaciones, cambios de nombre y copias, esto debería permitir que cualquier reproductor multimedia coincida con los metadatos proporcionados, suponiendo que pueda indexar todos los archivos multimedia en mi dispositivo.
La pregunta:¿Existe un formato de archivo similar al que he descrito anteriormente? Si no es así, ¿existe alguna solución para crear listas de reproducción sin depender de rutas exactas o buscar y reemplazar? (Para mi caso específico, me preocupa la interoperabilidad entre foobar2000 en Windows y Poweramp en Android, pero las soluciones que no utilizan estas aplicaciones también son bienvenidas).
Respuesta1
Parece que el mejor formato de archivo existente que hace esto es elFormato de lista de reproducción compartible XML, XSPF para abreviar. Desafortunadamente, no parece contar con un amplio apoyo. Parece que se usa principalmente dentro de la comunidad IPTV, pero ha tenido poca adopción cuando se trata de reproductores de audio.
Hay uncomplemento para foobar2000lo que agrega soporte, pero no puedo encontrar nada muy significativo para Poweramp u otros reproductores de música en Android. Algunos servicios, como Soundiiz, parecen tener la capacidad deexportar a XSPFde los servicios de transmisión.
Respuesta2
.m3u, y probablemente otras listas de reproducción, requierenNocamino,solo el nombre del archivo,si el .m3u y los archivos están en la misma carpeta.
Dicho esto, esto no parece funcionar para unrelativoruta a las subcarpetas ni a una carpeta principal. [Quizás esto dependa de la aplicación o del sistema de archivos; Intenté usar "punto", "punto-punto", barras diagonales hacia adelante y hacia atrás sin éxito en Windows/NTSF.]