首页 > 解决方案 > 如何录制两个音频输入和一个视频输入?

问题描述

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

一个例子:

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

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

对此有何建议?

标签: c#audiovideouwpmediacapture

解决方案


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

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


推荐阅读