我制作了一个示例应用程序,它构建了一个过滤器图以从麦克风捕获音频并将其流式传输到文件中。是否有任何过滤器允许我改为流式传输到内存缓冲区?
我正在遵循关于 msdn 的文章中概述的方法并且当前正在使用 CLSID_FileWriter
对象将音频写入文件。这很好用,但我不知道如何写入内存缓冲区。
是否有这样的内存接收器过滤器,还是我必须自己创建它? (我更喜欢与 Windows XP 捆绑在一起的那个)
最佳答案
最简单的方法(虽然不是最优雅的)是使用 Sample Grabber过滤器后跟 Null Renderer过滤以终止图表。这将使您能够使用样本采集器的 ISampleGrabber 访问原始媒体流。界面。获得样本后,您可以随心所欲地使用它们。
关于c++ - 如何使用 DirectShow 将音频流写入内存缓冲区而不是文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2433054/