2009-12-18 26 views
2

我對音頻設備/行/終端在Windows(vista)中的命名方式感到非常困惑。關於Windows如何獲取音頻行名稱感到困惑

  • 首先我去控制面板小程序「聲音」。其中,我發現一條輸入線實際駐留在USB音頻設備上。在小程序中的 「記錄設備」 的名稱是:
    麥克風
    3- USB音頻設備 工作

  • 從waveInGetDeviceCaps我得到
    麥克風(3- USB音頻設備請注意缺少右括號

  • 從IMMDevice.IPropertyStore,我看到兩個屬性,我可以提取名稱。其中一個表示
    麥克風
    另說USB音頻設備

,這是否「3」從何而來?

回答

2

「3-」取決於您連接設備的USB端口。如果您將設備移動到另一個USB端口,它將獲得另一個號碼。這是爲了唯一標識連接到不同端口的相同設備。 CoreAudio API使用真實ID(很像GUID)來識別每個設備,因此它不需要對設備名稱中的差異進行編碼。

請注意,這是我使用USB聲音設備以及MME和CoreAudio API。真實的故事大概可以在DDK中找到,或者從微軟的人那裏找到。

+4

幾乎完全正確 - :3-是由音頻子系統應用的消歧器,以區分相同名稱的設備。當我們構建端點名稱時,我們看一些因素 - 端點formfactor創建名稱的「麥克風」,「揚聲器」,「線路輸入」等部分,製造商名稱創建「USB音頻設備」部分。如果系統找到具有相同名稱的多個端點,則通過在名稱前面加上「 - 」來消除歧義。 –