我正在使用 WPF 中的 MediaElement 类创建一个 WPF 媒体播放器。在这里我可以播放本地视频(在我的电脑中可用),但我不能播放在线视频。任何人都可以知道我必须为此做些什么吗?
请任何人帮助我。
谢谢,
我正在使用 WPF 中的 MediaElement 类创建一个 WPF 媒体播放器。在这里我可以播放本地视频(在我的电脑中可用),但我不能播放在线视频。任何人都可以知道我必须为此做些什么吗?
请任何人帮助我。
谢谢,
看起来你完全可以做到这一点。但是,您可能会遇到您尝试播放的视频类型(文件类型)、您尝试从中流式传输视频的站点(即您需要登录)或 URL 的身份验证问题格式错误/不正确。一种测试方法是连接MediaFailed
事件处理程序并在出现时弹出一条消息,以便您可以深入了解正在发生的事情。
我能在几分钟内把它连接起来。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);
}
由于 WPF mediaelement 在内部使用 windows 媒体播放器。如果您将媒体播放器的缓冲区设置从默认缓冲区设置更改为自定义。打开 windows 媒体播放器 工具 选项 性能。如下图所示。
当您选择“缓冲区”选项并将“内容秒数”设置为 2 时。以下注册表值将添加到媒体播放器下。HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences 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