2013-11-01 24 views
0

我們需要的是創建一個虛擬音頻設備,它將來自USB攝像頭的麥克風與一組usb揚聲器組合在一起。在Windows中將USB攝像頭和USB揚聲器組合成一個虛擬音頻設備

我們希望這個虛擬音頻設備的行爲方式與耳機行爲相同。也就是說,如果我們在Lync>工具>選項>音頻設備中,我們希望虛擬音頻設備出現在主下拉菜單中,該下拉菜單僅顯示具有麥克風和揚聲器的設備。

我們已經調查了以下解決方案:

  • 使用TopoEdit創建一個虛擬音頻設備。
  • 這是一個GUI,所以它不適用於我們。

  • 使用虛擬音頻電纜創建虛擬音頻設備。

  • 這是一個GUI,所以它不適用於我們。

  • 使用DirectShow「欺騙」音頻設備。

  • 這將涉及使用過濾器圖。
  • 不利的一面是DirectShow不贊成使用MS Media Foundation。

  • 使用MS Media基金會「欺騙」音頻設備。

  • 缺點是文檔很差。

  • 編寫一個虛擬音頻設備驅動程序。

  • E.g.微軟虛擬音頻設備驅動程序示例

如果我們得到了我們真正想要的,我們將結合:

1媒體設備有一個麥克風和 2媒體設備有揚聲器,爲 3具有揚聲器和麥克風的虛擬媒體設備。

回答

1

由於您打算讓您的設備可用於Lync,因此您需要首先檢查Lync或甚至特定版本的Lync用於音頻捕獲的API。它很可能是DirectShow或Media Foundation的視頻,以及用於音頻的DirectShow,Media Foundation或MMDevice API。此外,可能發生的情況是,在不同的環境和/或不同的Lync版本中使用不同的API。很可能需要在多個API上提供虛擬設備。

它只是一個虛擬音頻設備驅動程序,它將被所有的API選中,但其創建可能比所有其他選項更加複雜。

+0

好像我們可以把問題分解成若干個位: 1.確定我們需要支持(2010,2013,等等)的Lync版本, 2.確定我們需要支持的環境(Win7的,Win8,Win8.1,x86,x64等)和 3.確定這些特定Lync版本環境使用的音頻捕獲(和渲染)API。 4。然後在這些API中的每一個上提供虛擬設備,或者提供將由所有API拾取的虛擬音頻設備驅動程序。 這導致我有一個後續問題:我們如何確定Lync安裝程序正在使用的音頻捕獲渲染API? –

+1

使用DirectShow,您可以監視應用程序正在構建的圖形,因此您可以輕鬆判斷應用程序是否使用DirectShow。請參閱http://alax.info/blog/777使用其他API可能需要尋找類似的東西,或比較應用程序中的設備列表以及API中可用的設備列表。 –