【问题标题】:Confused about how Windows get audio line names对 Windows 如何获取音频线路名称感到困惑
【发布时间】:2010-12-28 03:23:17
【问题描述】:

我对如何在 windows (vista) 中命名音频设备/线路/端点感到非常困惑。

  • 首先我进入控制面板小程序“声音”。其中,我发现一根输入线实际位于 USB 音频设备上。小程序中“录音设备”的名称为:
    麦克风
    3- USB 音频设备 工作

  • 从 waveInGetDeviceCaps 我得到
    麦克风(3- USB 音频设备 请注意缺少右括号

  • 从 IMMDevice.IPropertyStore,我看到两个可以提取名称的属性。其中一个说
    麦克风
    另一个说 USB 音频设备

那个“3-”从何而来?

【问题讨论】:

    标签: c# audio windows-vista winmm core-api


    【解决方案1】:

    “3-”取决于您将设备连接到的 USB 端口。如果您将设备移动到另一个 USB 端口,它将获得另一个编号。这是为了唯一标识连接到不同端口的相同设备。 CoreAudio API 使用真实 ID(很像 GUID)来识别每个设备,因此它不需要对设备名称中的差异进行编码。

    请注意,这是我对使用 USB 声音设备以及 MME 和 CoreAudio API 的看法。真实的故事可能可以在 DDK 中找到,或者从 Microsoft 的人那里找到。

    【讨论】:

    • 几乎完全正确 - :3- 是音频子系统应用的消歧器,用于区分同名设备。当我们构建端点名称时,我们会考虑许多因素 - 端点外形创建“麦克风”、“扬声器”、“线路输入”等名称的一部分,制造商名称创建“USB 音频设备”部分。如果系统发现多个具有相同名称的端点,则会通过在名称前添加“-”来消除歧义。
    猜你喜欢
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多