我要制作一个虚拟音频环回电缆/管道(一个虚拟音频设备)。MSVAD 源代码与 WDK 相处只执行捕获并保存出现在设备输入端口的音频数据,我不知道如何实现 CopyTo 和 CopyFrom 函数来制作一个 VALC,这样任何音频出现在 VALC(虚拟音频设备)的输入端口上都可以在 VALC 的输出端口上使用(类似于 Virtual Audio Cable v4.13)。请帮我编码 CopyTo和 CopyFrom 函数?我得到了一个 Audio Loopback Driver 的源代码,其功能与 VALC 类似/相同。在这里,我正在编写代码的音频循环部分。代码正在运行,但输出有音乐的咔嗒声和噼啪声。我期待有关此代码的有价值的建议/代码,还指定此代码有什么问题?
代码:
//================================================
STDMETHODIMP_(void) CMiniportWaveCyclicStream::CopyFrom(
IN PVOID Destination,
IN PVOID Source,
IN ULONG ByteCount
)
/*
Routine Description:
The CopyFrom function copies sample data from the DMA buffer.
Callers of CopyFrom can run at any IRQL
Arguments:
Destination - Points to the destination buffer.
Source - Points to the source buffer.
ByteCount - Points to the …Run Code Online (Sandbox Code Playgroud)