hallo,
ich verwende den jdk 1.4.2 und möchte wav files auf mehreren soundkarten ausgeben.
folgender code gibt die mixer auf meinem system aus:
er produziert die folgende ausgabe:
ich verwende einen ähnlichen code, um über die vorhandenen mixer zu iterieren. ich versuche über jeden mixer eine line zu bekommen und die wav file über einen clip abzuspielen. das sieht dann ungefähr so aus:
leider bekomme ich von diesem code ungefähr die ausgabe:
der code spielt die wav file nur auf meiner pci soundkarte ab. für die auf dem mainboard verbaute karte liefert er immernur line unsupported. mit der auf dem rechner installierten software kann ich aber beide soundkarten normal verwenden, ohne probleme. nur mein in java geschriebener code kann die zweite soundkarte nicht ansprechen...
ich habe gegoogelt und das forum durchsucht, ohne erfolg. was kann ich tun?
ich verwende den jdk 1.4.2 und möchte wav files auf mehreren soundkarten ausgeben.
folgender code gibt die mixer auf meinem system aus:
Code:
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Mixer;
public class ShowMixers {
public static void main(String[] args) {
Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo();
for (int mixerInfoIndex = 0; mixerInfoIndex < mixerInfo.length; mixerInfoIndex++) {
Mixer mixer = AudioSystem.getMixer(mixerInfo[mixerInfoIndex]);
System.out.println(mixer.getMixerInfo().getName());
}
}
}
Code:
Java Sound Audio Engine
Solo1 [plughw:0,0]
nForce2 [plughw:1,0]
nForce2 [plughw:1,1]
nForce2 [plughw:1,2]
Linux,dev/dsp,multi threaded
Code:
for (int mixerInfoIndex = 0; mixerInfoIndex < mixerInfo.length; mixerInfoIndex++) {
mixer = AudioSystem.getMixer(mixerInfo[mixerInfoIndex]);
if (mixer.isLineSupported(lineInfo)) {
try {
Clip clip = (Clip) mixer.getLine(lineInfo);
clip.open(inputStream);
clip.start();
while (clip.isRunning()) {
Thread.sleep(50);
}
clip.stop();
mixer.close();
} catch (LineUnavailableException e) {
e.printStackTrace();
}
} else {
System.out.println("Skipping mixer '" + mixer.getMixerInfo().toString() + "',");
System.out.println("because line is unsupported.");
}
}
Code:
Skipping mixer 'nForce2 [plughw:1,0], version 1.0.14rc1',
because line is unsupported.
Skipping mixer 'nForce2 [plughw:1,1], version 1.0.14rc1',
because line is unsupported.
Skipping mixer 'nForce2 [plughw:1,2], version 1.0.14rc1',
because line is unsupported.
Skipping mixer 'Linux,dev/dsp,multi threaded, version Unknown Version',
because line is unsupported.
ich habe gegoogelt und das forum durchsucht, ohne erfolg. was kann ich tun?