在媒体元素中播放来自https站点的媒体,在wpf中抛出空引用异常
本文关键字:媒体 wpf 引用 异常 站点 播放 元素 https | 更新日期: 2023-09-27 17:54:19
我正在尝试从https网站播放视频到我的媒体元素,抛出以下异常。
类型为'System '的异常。NullReferenceException'发生在PresentationCore.dll,但未在用户代码中处理
附加信息:对象引用未设置为类的实例对象。
这是我在xml
中的代码 <MediaElement x:Name="mediaElement" LoadedBehavior="Manual" Stretch="Fill" Loaded="OnMediaElementLoaded" MediaOpened="MediaElement_OnMediaOpened" />
var uri = new Uri("https://f60b7719060a37f20253-4343910d3bf76239b8a83e4f56d17dc5.ssl.cf2.rackcdn.com/mov-2015-06-07-22-08-09-391574e61009867cfcb1a1641639b39e55c8a34c.mp4", UriKind.RelativeOrAbsolute);
mediaElement.Source = uri;
mediaElement.Play();//Getting exception here.
请帮忙好吗?我也尝试了同样的使用其他一些http。
评论员试图通过给出完全无关的信息来看起来很聪明,但MediaElement实际上不能从HTTPS源播放,这是一个已经被承认的错误,并且没有足够的优先级来修复。
您要么必须提供一个非https源url,要么首先将内容保存到文件中,然后再加载它(可以通过虚拟文件系统完成)。
我刚刚找到了一种使用通用Windows平台(UWP)的方法。该解决方案成功地使用来自https源的MediaElement播放视频。该实现与您的类似,只是它从URI创建一个流并将其设置为MediaElement源。感谢https://github.com/kiewic。
https://github.com/kiewic/MediaElementWithHttpClientMediaElement mediaPlayer = new MediaElement();
HttpClient client = new HttpClient();
Uri uri = new Uri("https://f60b7719060a37f20253-4343910d3bf76239b8a83e4f56d17dc5.ssl.cf2.rackcdn.com/mov-2015-06-07-22-08-09-391574e61009867cfcb1a1641639b39e55c8a34c.mp4");
HttpRandomAccessStream stream = await HttpRandomAccessStream.CreateAsync(client, uri);
mediaPlayer.SetSource(stream, "video/mp4");