Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Problema tarjeta de Sonido Windows 7

Hola Buenas

Estoy intentado obtener el audio de una tarjeta de sonido, para ello uso la llamada a la funcion.
tdl.open();
donde:
tdl es unTargetDataLine

Lo que tengo que hacer es leer ese audio y meterlo en dos StreamBuffer ya que lo necesito dos veces. En windows XP si llamo a esa funcion dos veces seguidas funciona sin problemas, pero en Windows 7 me esta dando una excepcion
javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 8000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported.
at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(Unknown Source)
at com.sun.media.sound.AbstractDataLine.open(Unknown Source)
at com.sun.media.sound.AbstractDataLine.open(Unknown Source)
at com.indra.dicom.provider.voip.gestoraudio.MicrophoneSoundStream.start(MicrophoneSoundStream.java:217)

Investigando la decompilacion de java lo que veo es que en implOpen llama a una funcion nativa que devuelve un identificador, en el caso de Windows XP siempre devuelve un valor mayor que 0 pero en Windows 7 para la segunda vez que se llama devuelve 0 y se lanza la excepcion.

No si esto en bug de Java o Windows 7 ¿Alguien tiene alguna idea o le ha pasado algo parecido?

Gracias

julio 13, 2012 | Unregistered CommenterJosito

Podría ser a causa de este bug:

http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=f5704cc106718fffffffff87ceb439904a5c6?bug_id=6714820

¿Qué versión de JavaSE estás usando?

julio 13, 2012 | Registered Commenterchoces