有一个端口可以让您访问计算机的调音台,但静音可以使计算机的所有声音静音.所以这可能不是一个好选择.
除此之外,我相信您需要当前播放的Clip或SourceDataLine的类实例.然而,最有可能的是,applet使用Applet的AudioClip类进行播放,这可能会也可能不会在内部使用Clip / SourceDataLine …
无论如何,您可以尝试以下方法,它应该适用于大多数Java Sound实现:
>从AudioSystem获取所有混音器
Mixer.Info[] infos = AudioSystem.getMixerInfo();
for (Mixer.Info info: infos) {
Mixer mixer = AudioSystem.getMixer(info);
}
确保导入javax.sound.sampled.*
>从每个Mixer中,检索回放线
getSourceLines()
>对于每个返回的行,尝试获取静音控件:
BooleanControl bc = (BooleanControl) line.getControl(BooleanControl.Type.MUTE)
if (bc != null) {
bc.setValue(true); // true to mute the line, false to unmute
}
请注意,无法保证您将获得行,并且无法保证Java Sound实现为给定行提供MUTE控件.