如何读取我们的系统(PC 声卡或扬声器)在 java 中播放的音频流

Posted

技术标签:

【中文标题】如何读取我们的系统(PC 声卡或扬声器)在 java 中播放的音频流【英文标题】:How to read audio stream that our system (PC soundcard or speakers) is playing in java 【发布时间】:2013-06-19 06:36:34 【问题描述】:

我正在尝试播放从另一个系统中播放的音频中读取的音频流。

请告诉我如何读取我们的电脑当前正在播放音频的音频字节。

感谢和问候 雅米尼。

【问题讨论】:

看看Java Sound API 如果没有音频环回驱动程序或支持它的声音设备,这是不可能的。 【参考方案1】:

这个问题已经被问过很多次了。答案是Java不支持你想要的特性(事实上,在任何环境下都很难做到)。这并非不合理,因为某些操作系统不支持它。您的选择是:

使用电缆将 PC 输出连接到其输入。如果您使用模拟电缆,则会引入一些噪音。 使用 soundflower 等软件(仅限 Mac)创建虚拟电缆。 使用 JNI 访问可以执行此操作的系统的低级 API。

【讨论】:

以上是关于如何读取我们的系统(PC 声卡或扬声器)在 java 中播放的音频流的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Java 在 PC 扬声器上发出噪音

如何将输入从一个声卡重定向到另一个?

如何检查麦克风和扬声器是不是来自同一声卡?

在 Linux 中驱动声卡

vb.net系统在XP上的提示音

在bash脚本/命令中,如何使PC发出蜂鸣声或播放声音文件?