2016-01-22 89 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(); 
相关问题