Pregunta

¿Por qué SDL_Mixer no reproduce música para ciertos mp3?

Estoy utilizando SDL_Mixer para reproducir música en una aplicación que estoy creando. En ciertas canciones (álbumes enteros en realidad), la música simplemente no se reproducirá sin devolver ningún error. Los datos de música se cargan con éxito usando Mix_LoadMUS y cuando se ejecuta Mix_PlayMusic con esos datos, curiosamente devuelve 0 para el éxito pero no reproduce música. También he intentado leer Mix_GetError () y SDL_GetError () (creo que son lo mismo) para ver si genera un error, pero no tuve suerte.

Mi pregunta es, ¿qué otras razones no podría SDL_mixer reproducir un mp3 en particular?

Sé que los mp3 son funcionales ya que puedo reproducirlos en otros reproductores de música. También sé con certeza que no se están reproduciendo (a diferencia del volumen que se está bajando) ya que Mix_PlayingMusic devuelve 0.

¡Gracias a todos!

¿Fue útil?

Solución

Esto realmente terminó siendo un problema de sonido con esa computadora en particular. Al intentar las mismas pruebas en otra máquina, el sonido funcionó a la perfección. Solo una nota rápida en caso de que alguien más encuentre este problema.

Otros consejos

Las diferentes implementaciones del algoritmo MP3 toleran diferentes niveles de conformidad con el formato. La mayoría de los reproductores de música son bastante tolerantes, porque la mayoría de los usuarios prefieren escuchar algo entrecortado que nada, pero las bibliotecas de reproducción que son comunes toleran mucho menos.

Recomiendo abrir los mp3 ofensivos (o todos) en un editor de muestras de audio, como Audacity , y reexportando el mp3. Es posible que pierda un poco de calidad, ya que la compresión de mp3 es, por naturaleza, con pérdida, pero es probable que solucione el problema de reproducción.

Tuve el mismo problema, y ??reexportar los archivos mp3 con audacia no ayudó, pero al hacer algo como esto:     if (Mix_PlayingMusic () == 0)         Mix_PlayMusic () en el bucle de eventos, la música se reprodujo después de 2 o 3 intentos (eso fue diferente cada vez que ejecuté el programa). Otra solución fue convertir la música a archivos .ogg.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top