我使用的是 Windows。我有两张声卡,其中只有一张有输入。另一张只有输出。出于某种原因,我无法更改它们。
我尝试过:
我可以打开Sound recorder
录音设备并将其设置为具有输入的声卡。然后我成功进行了录音。然后我可以打开录音并将录音播放到具有输出(输出到扬声器/耳机)的声卡上。
我需要的:
我需要的是一张声卡的输入总是通过第二张声卡的输出播放。如何启用流式传输到一个声卡输入,然后播放到另一张声卡的输出/扬声器?
也许我需要编写一些代码来打开一个声卡...然后打开另一个声卡并将输入声音塞进另一个声卡?
PS 仅供参考,当我提到“一个声卡只有一个输入”时,这实际上是一个带 USB 的外置盒子,插入后,当您进入“控制面板 --> 系统 --> 设备管理器”时,它会显示为“USB 音频设备”。当您进入设备属性时,它似乎正在使用 Windows XP 提供的通用 USB 音频驱动程序。
答案1
我遇到了完全一样的问题,实际上,从互联网上的搜索来看,很多人都遇到了同样的问题。因此,我在网上找到的其他解决方法是:
- 使用像 Audacity(免费且流行的音频编辑器)这样的程序,它有一个“软件播放”选项(可在“编辑”->“首选项”中找到)- 在 Audacity 中,您可以选择不同的声卡用于输入,另一个用于输出,因此在启用软件播放的情况下,每当您从选定的线路输入(例如,声卡 A 输入)录制某些内容时,您都会从选定的输出(声卡 B 输出)听到它 - 显然,这样做的缺点是您必须实际录制内容,如果您没有太多的 RAM/空间等,并且一次听音乐超过 1 小时,这将是一个问题
- 使用音频中继器,这是一个可以免费下载的小型实用程序 - 当您免费下载它时,它应该是一个受限版本,可以“锁定”输入和输出之间的延迟为 5 秒 - 但如果这对您来说不是问题(对我来说) - 这是另一种解决方案 - 好的,您也可以编写代码,但我个人很懒惰 - 所以在有人编写免费代码之前,我会使用其中一种解决方案。
干杯!
答案2
控制面板上有一个名为“声音和设备”的项目或类似的项目(我这里没有英文版的 Windows XP)。
这使您可以选择不同的默认设备进行录制和播放。在此处进行任何更改之前,请关闭所有应用程序。
答案3
我写了一些代码:
- 找到特定的声卡
- 遍历所有声卡,直到找到一个字符串描述与所有正确关键字匹配的声卡
- 然后我打开了声卡上的输入,发现
- 然后我在默认声卡上打开了一个输出
- 然后我有一个无限循环将音频从一个声卡转发到另一个声卡
不幸的是我无法在线发布代码因为它是在工作时写的。:|
(如果使用 java 执行此操作,则需要大约 12 个小时来编写代码(并进行错误检查)并使用“apache commons CLI”对其进行测试以及一些命令行选项。)