如何从混音器信息(Java Sound API)获取TargetDataLine?

如何从混音器信息(Java Sound API)获取TargetDataLine?,java,Java,首先,我对Sound API一点经验都没有,我正在寻找一些快速的建议。我有一个混音器对象和一个TargetDataLine,我想用它来录制混音器。以下是我得到的: final TargetDataLine line; try { line = (TargetDataLine) mixer.getLine(mixer.getLineInfo()); } catch (LineUnavailableException e) { e.printStackTrace(); } 但是,此

首先,我对Sound API一点经验都没有,我正在寻找一些快速的建议。我有一个混音器对象和一个
TargetDataLine
,我想用它来录制混音器。以下是我得到的:

final TargetDataLine line;
try {
    line = (TargetDataLine) mixer.getLine(mixer.getLineInfo());
} catch (LineUnavailableException e) {
    e.printStackTrace();
}
但是,此代码在执行时会传递一个
IllegalArgumentException

Exception in thread "Thread-14" java.lang.IllegalArgumentException: Line unsupported: interface Mixer
at com.sun.media.sound.DirectAudioDevice.getLine(Unknown Source)
at net.minecraft.src.SequenceAudioHandler.run(SequenceAudioHandler.java:32)

有人知道为什么会这样吗?对不起,如果我缺乏基础知识,我仍在努力学习。

问题在于你在考试中的| |。即使该行不受支持,但具有特定的名称,您也可以将其视为可行的混音器。因此,当您稍后尝试从中获取一行时,您会得到一个
IllegalArgumentException
-“如果此混音器不支持任何与描述匹配的行” 根据文件

如果您想做的是获得一条可以从麦克风录制音频的线路,我建议您回答以下问题:

我们可以看看如何创建mixer对象吗?我有一个ArrayList,它存储某些混合器,然后将此ArrayList的某个索引传递给上面的部分。有人能告诉我如何在评论中发布格式化代码吗?你可以简单地用新代码编辑上面的帖子。你不能格式化评论(据我所知)'test'@arynaq你可以格式化评论:
test
使用`character(与~,同一个键上的那个)`我在混音器的迭代中有一个OR语句,它允许立体声混音。我去掉了它,得到了同样的结果。你能用添加的混音器创建代码编辑你的问题吗?