2011-07-16 18 views
25

He escrito una aplicación de cientos de líneas en Clojure que utiliza la biblioteca JLayer Java para audio donde ejecuto mp3s en segundo plano. Esto funciona bien, pero tan pronto como ejecuto cualquier otra música, YouTube, etc. en segundo plano (estoy ejecutando Arch Linux) los sonidos en mi aplicación se detienen por completo.La música en JLayer se detiene cuando otras aplicaciones reproducen música

He perdido las últimas dos horas y he intentado docenas de cosas para arreglar esto, así que cualquier consejo es apreciado.

+1

Mi primera conjetura sería que su aplicación está en pausa si se coloca en segundo plano, mi segunda suposición sería que el buffer de sonido solo funciona para una aplicación. ¿Su aplicación hace algo más si está en segundo plano? Intente hacer que escriba en un archivo y vea si ese archivo continúa creciendo incluso mientras su aplicación está en segundo plano. ¿Puede darnos un http://sscce.org/ para que podamos intentar reproducirlo y solucionarlo? –

+4

suena más como un problema de controlador de sonido que un problema de Clojure/Java como tal ... ¡podría ser mejor preguntar en un foro de expertos en Linux! – mikera

+0

gracias por la respuesta es todavía un problema, puedo ejecutar múltiples secuencias de sonido de otras fuentes, es decir, skype + youtube + mp3 al mismo tiempo funciona bien, además, puedo hacer que mi aplicación cree gráficos mientras la música ejecuta el fondo, por lo que puede funcionar mientras el audio está encendido ... justo cuando otro dispositivo tiene audio, se detendrá inmediatamente y no se reanudará hasta que se restablezca – ChrisR

Respuesta

0

Aunque no tengo experiencia de codificación personal con sonido en Java, tengo entendido que hay algunas suposiciones desiguales y/o API incompletas cuando se trata de servicios de sonido de Linux y también con interfaces de sonido de Java. Mezcla los dos juntos y obtienes lo que te has encontrado. Mientras jugaba con FreeTTS, rand I en similares posiblemente mismo problema,:

FreeTTS, Java, Linux: Workaround for "LINE UNAVAILABLE: Format is ..."

1

Puesto que usted ha declarado que está en Linux, el problema podría estar en su controlador ALSA. Comprueba si this article te ayudará a solucionar el problema.

0

He tenido problemas con PulseAudio y Jack luchando por el control de la tarjeta de sonido antes.

¿Lo ha considerado? ¿Puedes verificar si las dos aplicaciones se pelean entre sí de esa manera?

Cuestiones relacionadas