XAML MediaElement Play()方法无法在代码中使用

时间:2014-06-16 09:53:07

标签: windows-phone mediaelement

您好我有一个Windows Phone应用程序,其中XAML中定义了MediaElement窗口以播放视频文件:

 <MediaElement x:Name="mediaWindow" MediaEnded="mediaWindow_MediaEnded" Stretch="UniformToFill" HorizontalAlignment="Left" Height="225" Margin="15,127,0,0" VerticalAlignment="Top" Width="450" AutoPlay="True"/>

当我用C#代码调用它时,它可以正常运行:?

 mediaWindow.Source = new Uri(loc, UriKind.Relative);

但是发生了一些奇怪的事情,例如,当用户导航到新页面时,该页面上的MediaElement应该启动并播放音频文件,但我不知道。如果我注释掉上面播放视频的代码,那么导航到页面上的音频文件就可以了。

我尝试过在XAML中使用:?

 <MediaElement x:Name="mediaWindow" MediaEnded="mediaWindow_MediaEnded" Stretch="UniformToFill" HorizontalAlignment="Left" Height="225" Margin="15,127,0,0" VerticalAlignment="Top" Width="450" AutoPlay="False"/>

并在C#中:

 mediaWindow.Source = new Uri(loc, UriKind.Relative);
 mediaWindow.Play();

但这只是一个黑屏!?

这是在我用来播放音频文件的原始页面上的XAML中定义的另一个MediaElement,这可能是问题吗?如果是这样,我该怎么做才能在同一页面上播放音频文件和视频文件?我已经阅读过我可以将MediaPlayer用于音频文件,但我尝试在c#代码中定义它,但即使我已经包含它,它也不会在命名空间中使用:

 using System.Windows.Media;

这让我疯狂,对C#来说是新手,在这里有所帮助。

非常感谢

1 个答案:

答案 0 :(得分:0)

您是否尝试在XAML内提供视频来源?并使AutoPlay为假。

<MediaElement x:Name="mediaSimple" 
          Source="Videos/video1.mp4" 
          Stretch="UniformToFill" AutoPlay="False"/>

并在按钮单击事件处理程序中提供mediaSimple.Play()