2013-07-13 72 views
1

我正在使用WPF中的MediaElement类创建WPF媒体播放器。在这里,我可以播放本地视频(可在我的电脑上播放),但我无法播放在线视频。任何人都知道我必须为此做些什么吗?WPF:MediaElement播放在线视频

请帮助我的人。

谢谢,

回答

2

看起来你可以完全做到这一点。但是,您可能会遇到有关您尝试播放的视频类型(文件类型)的问题,您尝试播放视频的网站的身份验证问题(即您需要登录)或网址格式不正确/不正确。测试的一种方法是连接MediaFailed事件处理程序,并在引发消息时弹出消息,以便您可以深入了解正在发生的事情。

我能够在几分钟内将其连接起来,并发现有a site有样品视频,您可能可以测试(这不是我的网站,只有一个谷歌带给我)。 H.264视频适合我。

public MainWindow() 
{ 
    InitializeComponent(); 

    MyMediaElement.MediaFailed += MyMediaElement_MediaFailed; 
    MyMediaElement.LoadedBehavior = MediaState.Play; 
    MyMediaElement.Source = 
     new Uri(@"http://somesite/somevideo.mp4", UriKind.Absolute); 
} 

void MyMediaElement_MediaFailed(object sender, ExceptionRoutedEventArgs e) 
{ 
    MessageBox.Show(e.ErrorException.Message); 
} 

希望这会有所帮助!

0

由于WPF mediaelement内部使用Windows Media Player。如果您将媒体播放器的缓冲区设置从默认缓冲区设置更改为自定义。打开Windows媒体播放器工具选项性能。如下图所示。

当您选择“缓冲区”选项并将“秒的内容”设置为2.以下注册表值将被添加到媒体播放器下。 HKEY_CURRENT_USER \ SOFTWARE \微软\ MediaPlayer的\首 UseDefaultBufferTime = 0 CustomBufferTime = 2000

你可以使用DOTNET注册表类进行更改。 请参阅此链接: https://social.msdn.microsoft.com/Forums/vstudio/en-US/1b4b8fb9-ff8f-4861-8e99-4a7a4fc75596/setting-windows-media-player-properties-in-wpf?forum=wpf#ac879a7f-37bc-4ccc-854d-ab6e047086e5