2013-04-08 31 views
0

我在電腦中連接了多個聲卡。在Java中選擇用於播放聲音的聲卡

現在,我想通過不是默認聲卡設備的聲卡播放聲音。 Java Sound API可能嗎?我怎樣才能做到這一點?

謝謝!

+0

請嘗試此鏈接:http://www.developerfusion.com/article/84314/wired-for-sound/ – 2013-04-08 08:04:26

+0

謝謝,但這隻顯示如何在默認播放聲音線,但不是如何在另一個聲音設備上播放聲音 – Soccertrash 2013-04-08 08:29:18

回答

0
import javax.sound.sampled.* 

AudioInputStream audioIn = AudioSystem.getAudioInputStream(url); 

Mixer.Info[] arrMixerInfo = AudioSystem.getMixerInfo(); 

// Get a sound clip resource. 
Clip clip = AudioSystem.getClip(arrMixerInfo[1]); 

// Open audio clip and load samples from the audio input stream. 
clip.open(audioIn); 
clip.start(); 
clip.drain(); 
clip.close(); 

arrMixerInfo[0]表示默認聲卡。此代碼只能播放.wav文件

+0

這不完全正確。我只有默認聲卡和虛擬電纜。現在,如果我從AudioSystem.getMixerInfo()中打印出前三個設備,我會得到以下輸出: (1):主聲音驅動程序 (2):揚聲器(Conexant 20672 SmartAudio HD)和(3) CABLE- A輸入(VB-音頻電纜A) 雖然第二個聲音驅動程序是默認驅動程序(因此與第一個驅動程序相同) – 2015-01-14 13:41:55