PAN no funciona en la API de sonido Java

Tengo un gran problema, he desarrollado una aplicación Java que tiene como objetivo probar la audición, emitiendo sonidos a diferentes frecuencias (500Hz - 6000Hz) y decibelios, tan bueno hasta que la aparición de un problema en algunos portátiles no funciona bien porque cuando ejecutas un sonido a la oreja derecha se entrega a las dos orejas, lo mismo con la izquierda. Al principio pensé que era un error en mi aplicación, pero cuando encontré un ejemplo de Oracle similar, http://www.oracle.com/technetwork/java/index-139508.html se sorprendió. También puedo ser una regla de hardware porque en mi portátil Windows 7 / Fedora funciona correctamente en Linux.

Solo puedo comenzar a ver la solución para nivelar los controladores o el sistema operativo para que la aplicación se ejecute en cualquier computadora.

-Lo he probado en varias computadoras, hasta ahora no ha funcionado en 2 Samsung, 1 HP y 1 Toshiba (nuevo y usado, no es una cuestión de configuración de sonido)

-Esta aplicación también funciona bien para mí, que es C + + http://www.programming.de/freeware_windows.php (prueba de oído)

-Aquí hay un ejemplo de código http://www.anyexample.com/programming/java/java_play_wav_sound_file.xml

Intenté crear. Archivos Wav en modo estéreo y mono (con Audacity)

-En Java instalé el 1.4 jre para probar el actual

-Probablemente muchos de ustedes trabajarían porque depende de la computadora

una pieza de código:

private void propiedadesSound()
{
        this.clipAudio.stop();
        this.clipAudio.close();
        try
        {
            InputStream temp = getClass().getResourceAsStream(this.archivo);
            InputStream bufferedIn = new BufferedInputStream(temp);
            this.audio = AudioSystem.getAudioInputStream(bufferedIn);
                this.clipAudio.open(this.audio);
                if(this.clipAudio.isControlSupported(FloatControl.Type.PAN))
                {
                    FloatControl pan = (FloatControl) this.clipAudio.getControl(FloatControl.Type.PAN);
                    if(this.jRadioButtonIzq.isSelected())
                     pan.setValue(-1.0f);
                     else if(this.jRadioButtonDer.isSelected())
                     pan.setValue(1.0f);
                     else if(this.jRadioButtonAmbos.isSelected())
                     pan.setValue(0.0f);
                }
        else if(this.clipAudio.isControlSupported(FloatControl.Type.BALANCE))
                {
                    FloatControl pan = (FloatControl) this.clipAudio.getControl(FloatControl.Type.BALANCE);
                    if(this.jRadioButtonIzq.isSelected())
                    pan.setValue(-1.0f);
                    else if(this.jRadioButtonDer.isSelected())
                    pan.setValue(1.0f);
                    else if(this.jRadioButtonAmbos.isSelected())
                    pan.setValue(0.0f);
                 }
                if(this.clipAudio.isControlSupported(FloatControl.Type.MASTER_GAIN))
                {
                    FloatControl gain = (FloatControl) this.clipAudio.getControl(FloatControl.Type.MASTER_GAIN);
                    float max = gain.getMaximum();
                    float min = gain.getMinimum();
                    float current = gain.getValue();
                    double gainValue = this.jSliderDecibel.getValue()+20;
                    float newValue = (float)(min + gainValue * (max - min) / 100.0F);
                    gain.setValue(newValue);
                }
        }
        catch (UnsupportedAudioFileException ex)
        {
            exitError("Archivo de audio no soportado.");
        }
        catch (LineUnavailableException ex)
        {
            exitError("Linea no soportada.");
        }
        catch (IOException ex)
        {
            exitError("Error en la lectura del archivo de audio."+ex);
        }
    }

pd: También intenté eliminar solo el código PAN, balance y solo dos como este ahora

alguien tiene una alternativa ?, el código debe ser java ya que es parte de un programa más grande, pero quizás podría agregar algún otro lenguaje dll

Gracias de antemano

/-----EDITAR--------------------------------/

Encontré una solución que no es definitiva pero que ha funcionado hasta ahora. Los cuadernos que tenían el problema venían de fábrica, por alguna razón no divide el sonido de Java, por lo que se formatearon, instaló una nueva ventana (en este caso, Windows 7), la misma versión de Windows que traía pero no de fábrica , después de eso funcionó cada cuaderno tuve ese problema. Por lo tanto, es una incompatibilidad de los controladores de fábrica de algunos portátiles con la API Java, que no se ha actualizado durante muchos años.

/ ---------------------------------------- /

Respuesta 1

¿Están familiarizados con alguna herramienta que haga el trabajo de análisis estático de un apk de Android? Quiero que el método total cuente en un apk de terceros.

Tengo una API que quiero usar para obtener datos. Para obtener datos, tengo que enviar una solicitud en formato XML y la respuesta se enviará en XML. ¿Alguien tiene algún ejemplo de cómo enviar una solicitud usando ...

Normalmente lanzo el mapa a la lista para leer JSON, pero en este caso no tengo "root". Qué tengo que hacer ? este es el código que uso para leer Json usando root: Map <String, Object> p = j.parseJSON (nuevo ...

Hemos trasladado nuestra aplicación de Glassfish a JBOSS AS 7. Utilizamos la autenticación basada en formularios JAAS con JDBCRealm. El problema es que AS 7 utiliza la codificación ISO-8955-1 al enviar el formulario. Tenemos ...