2012-11-19 32 views
1

我在與Directshow.net庫和Windows 7Directshow.net不檢測Windows中的所有話筒7

問題在某些電腦(僅在設備管理器>控制器聲音,視頻,上市:「高保真音頻設備」)僅在Skype,MSN和錄音設備列出至少兩個時檢測到1個麥克風;當執行此代碼:

Filter audioDevice = null; 
if (capture != null) 
audioDevice = capture.AudioDevice; 

「audioDevice」僅具有第一麥克風(內部麥克風或後部MIC),並且不檢索德第二麥克風(話筒前-jack-),或反之亦然。

有人已經解決或知道另一個庫來捕捉從C#中的視頻和音頻?

回答

2

這裏沒什麼可解決的。 DirectShow.NET使用DirectShow,後者又使用Audio Capture Filter,它使用傳統音頻API捕捉音頻。 Skype改爲使用WASAPI,這是Windows Vista +中最新且最強大的音頻捕獲API(可回退到Windows XP中的舊API)。

只有一種解決方法可用:編寫由WASAPI支持的專有音頻捕獲過濾器。

+0

嗯,謝謝你的回答,你知道我可以從哪裏開始創建音頻捕獲過濾器嗎? – gokuhs

+0

因爲API是本機的,所以你不可能在.NET中做到這一點。您需要Windows SDK和[樣本](http://msdn.microsoft.com/en-us/library/windows/desktop/dd375468%28v=vs.85%29.aspx)。對於那些想要將數據注入DirectShow管道的人來說,「PushSource」是典型的示例。 –

相關問題