[問題] 請問多個USB音效裝置判別及預設裝置問題
小弟最近在WinXP開發USB音效裝置的應用端時,
碰到以下二個問題,
在Google爬文好久仍然試不出個所以然,
想請教各位前輩是否也碰過相同問題?
可否提供小弟一些方向, 感激不盡 >"<
第一個問題:
我開發的是複合式USB裝置,它有HID和Audio Input/Output等功能,
當有多個一模一樣的這種裝置插在同一台電腦時,
我可以順利的對每個HID裝置讀寫,
也可透過不同的Device ID,對各個音效裝置做錄/放音,
但問題來了,假設我要錄音,
我透過WinAPI的 waveInGetDevCaps()函式,
取出的 WAVEINCAPS 結構內容完全相同,無法用名稱分辨。
資料如下:
wMid 0xffff
wPid 0xffff
vDriverVersion 0x00000100
szPname 0x0012e1bc "這裡不方便透漏XD"
dwFormats 0x000bffff
wChannels 0xffff
wReserved1 0xe639
透過不同的Device ID, 雖然可對各個音效輸入裝置錄音,
但我卻無法分辨, 就竟現在錄到的是聲音,
是對應至哪個HID裝置的音效輸入?
第二個問題:
當含有USB音效的裝置一插入時,
Windows會很雞婆的幫我把系統預設音效換成剛剛插入的,
請問我是否有辦法寫程式,把預設音效再換成別的?
或有什麼方法避免Windows變更預設音效裝置嗎?
我在MSDN的文件中,看到waveInOpen的fdwOpen參數,
其中有一項是 WAVE_MAPPED,其英文說明如下:
The uDeviceID parameter specifies a waveform-audio device
to be mapped to by the wave mapper.
看起來的意思好像是開啟裝置時,會把這個裝置設成預設裝置,
試了一下好像也沒作用,不知是不是我英文不好會錯意了~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.221.49.21
Programming 近期熱門文章
PTT數位生活區 即時熱門文章