WPF媒体元素,使用https的源失败

5

有人遇到过以下问题吗?

我在一个 C# WPF 项目中使用了 MediaElement 。我尝试访问一个安全的 SharePoint 网站(NTLM),将 Source 设置为 https 地址,但视频播放失败。

 var u = new Uri(@"https://www......com/WindowsMedia.wmv", UriKind.Absolute);
 mediaElement.Source = u;
 mediaElement.Play();

尝试播放视频时出现异常:
 Object reference not set to an instance of an object.

希望有人以前见过并能给我一些提示。不幸的是,我无法分享安全视频位置。


当异常被抛出时,调用堆栈是什么? - Jon
我相信你遇到了一个已知的错误。现在WPF是开源的,我记录了一个错误并计划很快修复它:https://github.com/dotnet/wpf/issues/722 - dotMorten
太好了,终于看起来是个漏洞。不再需要修复。祝你修复顺利。 - markwilde
1个回答

0

首先声明,我对SharePoint毫无经验,但是...... 也许你需要先将文件下载到本地,因为它是通过HTTPS传输的,而MediaElement似乎没有任何用于身份验证的方法。

因此,请将文件下载到本地磁盘:

using System;
using System.IO;
using System.Net;

WebClient webClient = new WebClient();
webClient.Credentials = new NetworkCredential("username", "password", "domain");
webClient.DownloadFile("https://servername/path/documentToDownload.txt", "localPathToSaveFile");

然后将 MediaElement.Source 设置为"localPathToSaveFile"。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接