Tom*_*Tom 45 java usb record microphone javasound
我正在尝试使用Snow Leopard上的Java Sound录制/处理来自三个usb麦克风的一些音频(但如果修复了某些内容,可以切换到Windows).问题是,当我尝试使用与usb麦克风相对应的混音器时,Java Sound告诉我该行不受支持.具体来说,它说...
可用的搅拌机:
Java声音音频引擎
USBMIC Serial#041270067
内置输入内置麦克风
Soundflower(2ch)
Soundflower(16ch)
线程"AWT-EventQueue-0"中的异常java.lang.IllegalArgumentException:Line unsupported:interface TargetDataLine支持格式PCM_SIGNED 96000.0 Hz,8位,立体声,2字节/帧,
...当我要求它选择USBMIC调音台时:
Mixer mixer = AudioSystem.
getMixer(mixerInfo[1]);
Run Code Online (Sandbox Code Playgroud)
我已经尝试将音频格式与麦克风(16位,44100Hz,立体声)的确切规格相匹配,但没有任何区别.
问题出在这里:
final TargetDataLine line = (TargetDataLine)
mixer.getLine(info);
Run Code Online (Sandbox Code Playgroud)
似乎混音器和TargetDataLine彼此不喜欢.有没有办法让这两个人"匹配"并相处?
我正在使用的麦克风确实有点奇怪.它们被用于名为SingStar的卡拉OK视频游戏中.麦克风本身具有标准的单声道输入连接器,插入一个小集线器(两个到集线器),将它们转换为单个公头usb连接器.但是,除了陌生之外,它们似乎与Audacity一起作为单独的频道完美地工作,所以用它们进行多声道录音显然是可能的,也许不是用Java.
我还考虑使用像Soundflower这样的程序,在不同程序之间共享音频.但是,我不确定这是否会起作用,因为我无法看到如何将USB麦克风输入到Soundflower,然后将它们传输到Java中.一个快速的实验告诉我,我可以从麦克风中录制Audacity中的音频,通过Soundflower将其输出,然后在我的Java程序中处理.不过,我想要做的就是让它全部用Java实现.
有人熟悉这类问题吗?
归档时间: |
|
查看次数: |
3244 次 |
最近记录: |