同时播放背景音频和video

我需要开发windows phone应用程序。 在页面中,我需要连续运行背景音频和video(在重复模式下)。

对于Audio,我找到了这个例子 。

现在我如何在页面中添加背景video? 在页面中,我需要显示一些文本框和按钮,在后台video和音频都将播放。

音频和video文件都将包含在应用程序中,即不需要蒸汽。

实际上,我几个月前为我的工作任务做了这个。 我发现Silverlight for WP7不允许我同时播放两个MediaElements。 我所做的是创建一个Windows Phone Silverlight和XNA应用程序 。 (现在Silverlight for WP7终于创建了一个背景音频播放器,所以你可以这样做,如果你愿意的话)

你的应用程序可以完全在Silverlight中,但是你可以使用引用的XNA(你也可以访问一个非常好的更新循环)

XNA有一个SoundEffectSoundEffectInstance

然后加载声音只需执行以下操作:

包装类Sound.cs中的Globals

private SoundEffect Sound = null; private SoundEffectInstance Instance = null; 

在Sound.cs中播放音效

 Sound = ContentManager.Load(fileName); //ContentManager will have to be instantiated from wherever you create it. Instance = Sound.CreateInstance(); Instance.Play(); 

然后只需使用Silverlight MediaElement播放您的video文件。

XAML

  

代码隐藏

 VideoPlayer.Source = = new Uri("fileName", UriKind.Relative); VideoPlayer.Play(); 

您可以通过使用VideoBrush填充Silverlight元素来实现此目的,该VideoBrush指向您在不可见的MediaElement中播放的video。 这将允许video播放和其他UI元素显示在其顶部或周围。

请参阅MSDN上的VideoBrush文档,其中包含如何执行此操作的示例。

但请注意,一次只能存在一个MediaElement。 因此,如果您需要同时播放单独的音频和video,则需要使用XNA SoundEffect类播放音频。

如果您只关心在应用程序可见时播放音频 – 那么您不需要使用背景音频,只需使用MediaElement进行播放即可。 如果你想同时拥有音频和video – 你可能需要使用XNA进行音频保护,或者你可以将video显示为一系列图像/精灵而不是播放常规video文件。

请注意,对于电池而言,其中任何一个都会相当糟糕,因此,如果您在手机连接到电源时制作一个夜间应用程序,那么它可能才有意义。