如何处理旧版过滤器“Wav Dest”的 NIL 响应?在Delphi 6 DSPACK程序中?
我正在尝试使用 DSPACK 创建一个 Delphi 6 程序,该程序记录来自 PC 输入设备(Windows XP)的音频,然后将捕获的音频写入 MS 格式的 WAV 文件。我遇到的问题是,当我尝试获取名为“WAV Dest”的遗留过滤器时,我得到了 NIL:
CapEnum.SelectGUIDCategory(CLSID_LegacyAmFilterCategory);
filWaveDest.BaseFilter.Moniker := CapEnum.GetMoniker(CapEnum.FilterIndexOfFriendlyName('WAV Dest'));
filWaveDest.BaseFilter.Moniker 在这些调用之后包含 NIL。由于尝试写入使用 filWaveDest 捕获的 WAV 数据的后续代码明显失败,我该如何纠正这个问题?
I am trying to create a Delphi 6 program with DSPACK that records audio from the PC input devices (Windows XP) and then writes the captured audio to a MS format WAV file. The problem I am having is that I am getting NIL back when I try to get the legacy filter named 'WAV Dest':
CapEnum.SelectGUIDCategory(CLSID_LegacyAmFilterCategory);
filWaveDest.BaseFilter.Moniker := CapEnum.GetMoniker(CapEnum.FilterIndexOfFriendlyName('WAV Dest'));
filWaveDest.BaseFilter.Moniker contains NIL after these calls. How can I correct this since obviously subsequent code that attempts to write the WAV data captured using filWaveDest fails?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Wav Dest 不是标准的 DirectShow 过滤器。它是 SDK 中的一个示例过滤器。构建该对象或下载其他人构建的 DLL 的副本。
Wav Dest is not a standard DirectShow filter. It is an example filter in the SDK. Either build the object or download a copy of the DLL someone else has built.