如何在播放音频文件mp3时使MediaElement可见?

问题描述:

我有XAML为ContentControl中:如何在播放音频文件mp3时使MediaElement可见?

<ContentControl x:Name = "MyPlayer">  
    <StackPanel /> 
</ContentControl> 

然后,我在代码中添加的MediaElement这个ContentControl中:

this.myPlayer.Content = new MediaElement() { 
Source = new Uri(@"http://mysite/myfile.mp3"), 
Visibility = Visibility.Visible 
}; 

然后当我运行应用程序,玩家不会播放该文件,但没有视觉播放器。屏幕保持空白。

如何放置视觉播放器元素,以便用户可以暂停/停止/重放播放源?

您需要创建背后的逻辑自己的按钮和代码播放/暂停/回放等。您可以使用此作为参考:http://msdn.microsoft.com/en-us/library/ms748248.aspx

或者,你可以使用CodePlex上媒体播放器框架:http://smf.codeplex.com/ 这为媒体播放器创建了模板。

我相信你也需要为MediaElement指定一个高度/宽度,如果你想看到的东西,但你期望看到一个MP3文件?

另外,ContentControl的需求是什么?你为什么不把MediaElement放在xaml中?

+0

谢谢。甚至放高度和宽度,仍然看不到任何东西。我使用ContentControl是因为我想通用播放器可以播放视频,音频,图像时源类型不同。 – KentZhou 2012-07-06 18:11:43

+0

由于没有与之相关的视频,因此您不会看到MP3的任何内容。您可以将MediaElement包装在边框中,然后放置边框的背景图像: 您也可以在代码中做到这一点的背后:MyPlayer.Content =新的边界{BACKGROUND =新的SolidColorBrush(Colors.Blue),儿童=新的MediaElement {源=新的URI(“HTTP:// mysite的/ myfile的。 mp3“)}}; – Misha 2012-07-06 18:37:55

+0

太棒了!谢谢。将尝试它。 – KentZhou 2012-07-06 18:58:58