【问题标题】:Selecting soundcard in Java for playing sound在Java中选择声卡来播放声音
【发布时间】:2013-04-08 07:52:40
【问题描述】:

我的计算机中有多个声卡/连接到我的计算机。

现在,我想通过不是默认声卡设备的声卡播放声音。 Java Sound API 可以做到这一点吗?我怎样才能做到这一点?

谢谢!

【问题讨论】:

标签: java audio


【解决方案1】:
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 文件

【讨论】:

  • 这并不完全正确。我只有默认声卡和虚拟电缆。现在,如果我从AudioSystem.getMixerInfo() 打印出前三个设备,我会得到以下输出:(1):主声音驱动程序(2):扬声器(Conexant 20672 SmartAudio HD)和(3)CABLE-A 输入(VB-音频电缆) A)虽然第二个声音驱动程序是默认的(因此与第一个相同)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-08
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-16
  • 1970-01-01
相关资源
最近更新 更多