KsStudio - 使用示例

本主题提供了三个使用示例,用于使用 KSStudio 实用工具排查 WDM 音频问题。 有关详细信息,请参阅 KSStudio 实用工具

示例 1:音频似乎不起作用

应用场景

开发人员安装音频设备驱动程序,但播放器应用(例如 Windows 媒体播放器)指示没有可用的音频设备。

故障排除

  1. 设备是否显示在设备管理器中? 如果是,请转到步骤 (2),否则是用于安装设备的 INF 文件出现问题。

  2. 设备是否具有黄色感叹号? 如果是,则设备未成功安装(查看设备的属性以获取更多信息),否则转到步骤 (3)。

  3. 启动 KSStudio。 枚举类 KSCATEGORY_AUDIO 和 KSCATEGORY_AUDIO_DEVICE 的筛选器。 与音频设备对应的筛选器是否显示在 KSCATEGORY_AUDIO 下? 如果是,请转到 (4),否则未正确注册筛选器工厂。 最常见的原因是 INF 中的 XXX guid 与筛选器源代码中的 XXX guid 不匹配。

  4. KSCATEGORY_AUDIO_DEVICE 筛选器是表示系统生成的音频图部分的虚拟筛选器。 有关详细信息,请参阅内核模式 WDM 音频组件虚拟音频设备。 通常,这些虚拟筛选器是更高级别的 API 访问的内容。

与上述 _AUDIO 筛选器工厂对应的虚拟筛选器工厂是否存在(如果存在,将显而易见)? 如果是,请转到 (5),否则驱动程序存在导致 sysaudio 拒绝它的问题。 实例化相应的 _AUDIO 设备。 这将导致 KSStudio 分析筛选器。 在日志记录窗口中查找错误(红色文本)。 检查“实例化对象”视图中的筛选器。 与正在运行的筛选器(可能是 DDK 示例驱动程序之一或来自另一个制造商的一个驱动程序)进行比较。

  1. 运行 mmsys.cpl,并查看是否显示与正在开发的筛选器对应的任何设备。 这是通过 MMSystem API 的设备视图。 如果未在此处显示任何设备,则存在导致 MMSystem 拒绝该设备的设备详细信息。 返回到 KSStudio 并实例化与设备对应的 KSCATEGORY_AUDIO_DEVICE 虚拟筛选器工厂。 在日志记录窗口中查找错误(红色文本)。 检查“实例化对象”视图中的筛选器。 与正在运行的筛选器(可能是 WDK 示例音频驱动程序之一或来自另一个制造商的一个驱动程序)进行比较。

示例 2:缺少音频混音器线路

应用场景

已安装音频设备。 SndVol32 中缺少一个或多个预期的混音器线路(或其他混音器应用程序)

故障排除

  1. 筛选器的拓扑在 KSStudio 中是否看起来正确? 启动 KSStudio 并枚举 KSCATEGORY_AUDIO。 实例化拓扑筛选器,并选择对象拓扑视图中的“视图节点”选项。 筛选器拓扑看起来是否正确? 如果是,请对相应的 KSCATEGORY_AUDIO_DEVICE 筛选器重复此操作。 如果此拓扑看起来合理,请转到 (2),否则拓扑筛选器中存在特定问题,阻止向音频堆栈中更高的组件表示拓扑。 有关如何将筛选器拓扑转换为混音器线路的详细信息,请参阅 DDK 文档。

  2. 混音器线路是否按预期在 MixApp 中显示? MixApp 是一个非常简单但有用的 Windows SDK 示例应用。 如果 MixApp 中的混音器线路看起来正确,但在前面引用的问题混音器应用程序中则可能是应用错误。

示例 3:音频混音器控件缺失或未正常工作

应用场景

混音器控件(MMSystem 混音器 API)未显示,或者似乎在 SndVol32 或其他混音器应用程序中不起作用。

故障排除

  1. 在上面的示例 2 中完成故障排除。

  2. 硬件事件支持是否在 KSStudio 中正常工作? 找到支持 KSEVENT_CONTROL_CHANGE 事件的节点或引脚,并按 KSStudio - KSProperties 和事件中所述方式将其启用。 切换硬件控件。 这应会导致事件灯泡图标闪烁。

另请参阅

KSStudio 实用工具

KSStudio - 筛选器和筛选器工厂

KSStudio - 引脚和节点

KSStudio - KSProperties 和事件

KSStudio - KS 监视器