OS X上的Java声音输入。不支持音量控制?崩溃

时间:2011-05-29 17:00:09

标签: java macos audio

对于MacBook Pro上的内置麦克风和内置输入,以下几行均返回false

line.isControlSupported(FloatControl.Type.VOLUME);
line.isControlSupported(FloatControl.Type.MASTER_GAIN);

lineTargetDataLine的一个实例,并已成功open()'d。

因为我无法设置增益,所以我捕获的任何音频都处于极低的水平并被噪声淹没。调用TargetDataLine.close()时,JVM(1.6.0_24,com.apple.javajdk16.cmd,OS X 10.6.7)也经常崩溃。

有人对此有什么好运吗?

1 个答案:

答案 0 :(得分:0)

检查一下 - 这是OS X java声音演示应用程序 http://java.sun.com/products/java-media/sound/samples/JavaSoundDemo/

也有一个有效的os x增益控制。

基于评论:

检查一下:http://www.jsresources.org/faq_audio.html#recording_volume,但老实说从未尝试过。在页面:

  

显而易见的解决办法是获得一个   VOLUME或类型的控制对象   用于TargetDataLine和的MASTER_GAIN   通过此对象操纵音量。   但是,这是不可能的,因为   没有已知的Java Sound实现   支持任何控件   TargetDataLine实例。

     

您可以做的是使用该系统   混音器控制录音音量   ---它会影响声卡中的硬件设置。一种可能性是   使用混音器应用程序   操作系统。另一个   可能性是使用端口线   在Java Sound应用程序中。看到   端口部分了解详情。