首页 > 解决方案 > 使用 Java Sound API 捕获声音时遇到 LineUnavailableException

问题描述

我正在使用 Java Sound API 通过从 TargetDataLine 读取数据来捕获 Windows 机器上的声音。如果我打开一行,从该行读取数据然后关闭它,它工作正常。但是,如果我在关闭后重新打开它,我会得到一个 LineUnavailableException。有人可以向我解释发生了什么吗?如果我想一个接一个地录制多个声音片段,说重复这个:开始------->录制-------->停止几次,我该怎么做?

谢谢

标签: javaaudiocapture

解决方案


API说:

有些线路一旦关闭,就无法重新打开。尝试重新打开此类行将始终导致LineUnavailableException.

我认为他们说“一些线”的原因是它取决于与特定系统有关的外部因素。

看来,您需要为每个额外的录音创建一条线。


推荐阅读