2013-06-11 33 views
0

我需要獲取計算機聲音驅動程序的名稱。把它放在一個列表或字符串中。 我發現的所有內容都是「winmm.dll」的「int」返回方法,如「waveInGetDevCapsA」和「waveInGetDevCapsW」。獲取C#中聲音設備的名稱

任何消化?

回答

3

如果您想枚舉音頻設備,使用SlimDX會變得非常容易。它需要將DirectX安裝在電腦中。

例如,枚舉音頻捕獲設備:

DeviceCollection coll = DirectSoundCapture.GetDevices(); 
foreach(DeviceInformation dev in coll) { 
    ... 

} 

要列舉音頻播放設備:

DeviceCollection coll = DirectSound.GetDevices(); 
    foreach(DeviceInformation di in coll) { 

    } 

DeviceInformation類有string類型的Description屬性。它還有DriverGuidGuid類型的屬性,使您可以「選擇」設備以執行音頻捕獲或播放(也可以通過SlimDX完成)。

編輯:使用Winmm.dll的方法 請在代碼項目中看看以下entry。它只使用Winmm.dll構建一個枚舉器。

希望這會有所幫助!

+0

它的工作。非常感謝,但我需要使用原生winmm.dll方法或其他原生方法。 –

+0

非常感謝。其作品! –