2016-01-22 91 views
0

我的應用程序當前使用AXWindowsMediaPlayer組件播放視頻,然後使用默認聲音設備播放聲音。從我的應用程序播放多個視頻,在不同設備上使用音頻

我需要添加對播放多個視頻的支持,並且反過來我需要能夠爲每個視頻設置音頻源。

思考如何實現這一點:

  1. 設置AXWindowsMediaPlayer的音頻終端到我的指定的設備(我知道我可以在Windows Media Player程序做到這一點,但不知道如何在代碼中)。
  2. 使用WMP播放視頻並使用NAudio流式傳輸音頻。

任何人都可以提供一些建議如何最好地實現我所需要的,也許我需要看一些文檔的鏈接?我似乎無法找到任何這方面的信息。

+0

請提供向下投票反饋。我不知道如何更好地解釋我的問題,我沒有任何相關的代碼,因爲我無法找到圍繞此主題的任何文檔... – webnoob

+0

我已經在過去使用directshow做過這個,你創建一個過濾器圖形,然後刪除默認的音頻渲染,添加您想要使用的並重新連接圖形。然而,directshow不知何故被認爲已被棄用,所以可能會有更多「現代」的方式來實現這一點。我認爲你不會僅僅通過axWinMediaPlayer就可以做到這一點,儘管 – yms

+0

@yms--媒體基金會似乎取代了directshow(自vista)。我知道naudio使用這個,所以也許這條路線可能工作... – webnoob

回答

1

我最終爲此使用了NAUDIO。

這是我使用的代碼:

var waveReader = new MediaFoundationReader(playListItem.FilePath); 
_waveOut = new WaveOut {DeviceNumber = playListItem.PlayerScreen.AudioDevice.Id}; 
_waveOut.Init(waveReader); 
wmPlayer.settings.volume = 0; 
wmPlayer.URL = playListItem.FilePath; 
_waveOut.Play(); 
相關問題