Reproducir Mp3

En un proyecto que acabé hará cosa de medio año decliné utilizar archivos mp3, en favor de los archivos en formato mod, ya que su reproducción no me daba más que problemas.

En un acto de heroicidad me he vuelto a mirar la AS_Lib, pero al ver que en probar un archivo mp3 cualquiera el programa petaba he vuelto a desistir XD (y eso que lo he probado en los propios ejemplos que trae Palib, de ahí mi acto de declinar rápidamente).

Actualmente y teniendo en cuenta que no he actualizado las librerías PALIB des de hace un año, hay alguna alternativa que funcione correctamente para reproducir archivos mp3 y que no tenga problemas cada dos por tres (que si crash memory, ahora no reproduce, y un largo etc)?.
Si combinas aslib+ efslib. No tendras problema alguno, ya que cargaras los mp3 solo cuando los necesites y no estaran siempre en la ram estorbando...

Puedes encontrar un ejemplo que enseña como hace en palib\examples\Sound\ASLib_with_EFSLib. O al menos ese ejemplo existe en la ultima version estable, si no dispones de esa version nunca es tarde para actualizarze (en mi firma, el primer enlace es un tutorial de como instalar la ultima version de las palib).
Pero si la música es una transferencia contínua... Es decir, que no se queda nada en la RAM, solo va pasando datos a X KB/s y se procesan en el ARM7, para ir a los altavoces y convertirse en energía mecánica. A mí me petaba con una canción de Disturbed, a velocidad normal, pero poniéndolo en lenta lenta relenta me iba sin problema alguno. Supongo que será por el ancho de banda de datos...
alexpowerup escribió:Pero si la música es una transferencia contínua... Es decir, que no se queda nada en la RAM, solo va pasando datos a X KB/s y se procesan en el ARM7, para ir a los altavoces y convertirse en energía mecánica. A mí me petaba con una canción de Disturbed, a velocidad normal, pero poniéndolo en lenta lenta relenta me iba sin problema alguno. Supongo que será por el ancho de banda de datos...

La verdad es que en temas de sonido soy bastante corto. Pero aun asi, el archivo de sonido debe encontrarse en una parte de la rom, si esa parte son los arm chungo... (los archivos arm siempre estan en la ram...). Aunque creo que no eso por lo que le falla ahora que pienso...
Creo recordar que los sonidos cargados desde el arm7 tenian que tener un birrate maximo, sino no podria... Sera por eso por lo que falla, algunas aplicaciones como el moonshell o el ds organize, usan un metodo para cargar los sonidos por el arm9 y asi poder reproducir mp3 con un birrate muchisimo mayor... No tengo ni idea como funciona, sera cuestion de mirarse el codigo fuente del ds organize y buscar la parte relacionada con la reproducion mp3... Que pereza XD
Lo mejor con AS+EFS es reducir el bitrate de las canciones a unos 40kbps (con este bitrate no he tenido ningún tipo de problemas con ninguna canción) y la freciencia de muestreo a 11025Hz. Si no lo haces, es normal que te petase con mp3 normales xD

(se nota que me lo he tenido que mirar bien para meterlo en el Gravity, eh? xDDD )
Vale sabía las limitaciones de bitrate pero no que fuesen tan restrictivas. 320, ni de coña, 224 casi aun menos, 128 ya prové y no, con lo que estaba probando con ficheros con el mismo bitrate que el ejemplo 64 kbps pero tenía los mismos problemas (y creo que será problema de la frecuencia de mostreo que tiene el archivo).

Por lo que me decís, con lo que hay actualmente parece imposible o poco probable hacer algo parecido a lo que hace moonshell (reproduce el fichero que sea). Entonces parto ya de una base mala…. y me veo volviendo a utilizar los ficheros mod.

Os explico lo que tenía pensado hacer, básicamente un Donkey Konga para DS; la mecánica del juego es simple, y le añadiríamos una funcionalidad mediante la cual podríamos leer un fichero externo indicando el mp3 a utilizar + la lista con todos los diferentes Kongas que han de aparecer. Para el control del juego por parte del usuario podríamos utilizar simplemente los botones o alguna otra cosa que se me podría acudir (por ejemplo táctil, más micrófono para las “palmadas”).

Pero claro, como ya me conozco las putas Palib de los huevos, pienso: antes de hacer nada mira que puedas reproducir música en condiciones y después ya veras el siguiente paso.

A ver si la semana que viene me pongo un poco a mirar si algunas melodías en quedan bien con esa codificación, y en caso de ser válidas intentaríamos hacer alguna cosa, aunque me temo que el resultado será desastroso XD.

Gracias por las respuestas, pero una última cosa: sin mirar absolutamente nada del código de ejemplo, he visto que el ejemplo de AS_lib + EFS da como resultado una fichero que lleva incorporado el tamaño del archivo externo, es esto normal?.
5 respuestas