同时播放背景音频和视频

时间:2012-01-10 11:19:02

标签: c# silverlight windows-phone-7

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

对于音频,我找到了this example

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

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

3 个答案:

答案 0 :(得分:2)

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

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

XNA SoundEffect SoundEffectInstance

然后加载声音,请执行以下操作:

包装类Sound.cs

中的Globals
private SoundEffect Sound = null;
private SoundEffectInstance Instance = null;

在Sound.cs中播放音效

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

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

XAML

<MediaElement x:Name="VideoPlayer" AutoPlay="False" Width="320" Height="220"/>

代码隐藏

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

请注意,对于电池来说,其中任何一个都会相当糟糕,所以只有在手机连接到电源时才会制作夜间应用程序才有意义。