作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图从通过USB连接到我的PC的外部调音台获得一条线路。
因此,我编写了一个简单的程序来列出所有混音器及其各自的源代码行(输出)和目标代码行(输入),并且可以正常运行:
import javax.sound.sampled.*;
public class TestResources {
public static void main(String args[]) {
try {
Mixer.Info [] mixers = AudioSystem.getMixerInfo();
for(int i = 0 ; i< mixers.length; i ++) {
System.out.println((i+1)+". " + mixers[i].getName() + " --> " + mixers[i].getDescription() );
Line.Info [] sourceLines = AudioSystem.getMixer(mixers[i]).getSourceLineInfo();
System.out.println("\tSource Lines:" );
for(int j = 0; j< sourceLines.length; j++) {
System.out.println("\t" + (j+1) + ". " + sourceLines[j].toString() );
}
System.out.println();
Line.Info [] targetLines = AudioSystem.getMixer(mixers[i]).getTargetLineInfo();
System.out.println("\tTarget Lines:" );
for(int j = 0; j< targetLines.length; j++) {
System.out.println("\t" + (j+1) + ". " + targetLines[j].toString() );
}
System.out.println("\n" );
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}
AudioFormat format = new AudioFormat(44100, 16, 2, true, true);
Mixer.Info [] mixers = AudioSystem.getMixerInfo();
final TargetDataLine microphone = AudioSystem.getTargetDataLine(format, mixers[2]);
java.lang.IllegalArgumentException: Line unsupported: interface TargetDataLine supporting format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 8 bytes/frame, big-endian
最佳答案
此方法打印Line.Info
对象支持的格式:
static void showLineInfoFormats(final Line.Info lineInfo)
{
if (lineInfo instanceof DataLine.Info)
{
final DataLine.Info dataLineInfo = (DataLine.Info)lineInfo;
Arrays.stream(dataLineInfo.getFormats())
.forEach(format -> System.out.println(" " + format.toString()));
}
}
关于java - Java声音API。从调音台获取支持的音频格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53803605/
我是一名优秀的程序员,十分优秀!