1

我正在尝试通过 C# 中的 MediaCapture 录制两个音频输入(网络摄像头 + 麦克风)和一个视频输入(网络摄像头)。只有 1 个音频和 1 个视频输入就像一个魅力,但该类本身不允许指定两个音频输入设备 ID。

一个例子:

var captureDeviceSettings = new MediaCaptureInitializationSettings
{
 VideoDeviceId = videoDeviceId, #Webcam video input
 AudioDeviceId = audioDeviceId, #Webcam audio input
 StreamingCaptureMode = StreamingCaptureMode.AudioAndVideo,
}

我考虑过使用音频图和子混合节点,但是我需要为媒体捕获指定一个设备 ID,子混合节点没有提供。此外,使用音频图的输出设备似乎不是解决方案,我不想将麦克风播放到默认输出设备。试过了,但听起来很可怕。我想创建一个虚拟音频设备,但我不知道如何。

对此有何建议?

4

1 回答 1

0

MediaCapture 将无法做到这一点,WASAPI 可能是可能的,但这并非易事。

最好的选择可能是利用https://docs.microsoft.com/en-us/windows/win32/coreaudio/loopback-recording。如果您让环回录制工作,您仍然必须在视频流中进行多路复用。

于 2021-07-26T02:54:37.553 回答