Ich versuche, etwas Einfaches zu tun. Ich möchte Sound auf einem bestimmten Soundmedium abspielen, anstatt auf dem Standardton zu spielen.Abspielen von Sound auf bestimmten Sound-Gerät Java
Dort ist mein letzter Versuch, alle Medien zu iterieren und einen Ton zu spielen. Nur die Medien auf dem Standardgerät spielen etwas. Selbst das Standardgerät funktioniert nicht, wenn es direkt abgespielt wird.
public void testSoundPLayer() throws Exception {
AudioInputStream inputStream = AudioSystem.getAudioInputStream(Main.class.getResourceAsStream(Constants.SOUND_ALERT));
Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo();
for(int i = 0; i < mixerInfo.length; i++)
{
Mixer.Info info = mixerInfo[i];
System.out.println(String.format("Name [%s] \n Description [%s]\n\n", info.getName(), info.getDescription()));
System.out.println(info.getDescription());
try
{
Clip clip = AudioSystem.getClip(info);
clip.open(inputStream);
clip.start();
}
catch (Throwable t)
{
System.out.println(t.toString());
}
Thread.sleep(2000L);
}
}
Ich bin offen für externe Libraries, oder sogar um die Standard-Soundkarte zu ändern. Ich möchte nur eine "nette" Methode, um einen Sound (WAV) auf einer bestimmten Soundkarte ohne OS-abhängige Methode zu spielen.
'Clip' ist Teil der Java Sound nicht JMF. * "Ich möchte nur eine" nette "Methode, um einen Sound (WAV) ohne Betriebssystem abhängige Methode zu spielen." * Sie sind verwirrt. Der 'Clip' ist es! –
Effektiv ist mein letzter Satz verwirrend. Ich möchte eine nette Methode, um einen Sound auf einer bestimmten Soundkarte abzuspielen. Ich bearbeite den Beitrag. – Manticore