如何使用mediaElement或mediaPlayerElement播放受保护的视频
播放需要身份验证的视频的正确方法是什么?如何使用mediaElement或mediaPlayerElement播放受保护的视频
视频托管在使用基本身份验证的服务器上,凭据必须通过标头上的cookie传递。
我已经尝试了AdaptiveMediaSource,但是我得到了一个服务器不支持该协议的错误。
我试过这个https://github.com/kiewic/MediaElementWithHttpClient/tree/master/MediaElementWithHttpClient但我得到一个错误,说明Range不被支持。
任何帮助将不胜感激。
我针对Windows 10周年纪念版
干杯 ^ h
您可以尝试使用WebView控件查看它是否可以满足您的要求。官方示例:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlWebView
我试过AdaptiveMediaSource,但是我得到一个错误,表示服务器不支持该协议。
根据官方文件,https://msdn.microsoft.com/en-us/windows/uwp/audio-video-camera/adaptive-streaming 自适应流功能目前支持通过HTTP(DASH)内容的HTTP实时流(HLS)和动态流媒体播放。有关支持的HLS协议标签的列表,请参阅HLS标签支持。 如果您的服务器不支持这些协议,则无法使用自适应流式传输功能。
我试过这个https://github.com/kiewic/MediaElementWithHttpClient/tree/master/MediaElementWithHttpClient但我得到一个错误,说不支持Range。
请参阅演示的Readme.md文件中的注释。 注意:服务器必须支持HTTP范围标题。如果您的服务器不支持HTTP范围标题,则不能直接使用演示。
在本issue注意到heroboy,在范围头请求处于初始响应不是强制性的,所以你可以尝试从HttpRandomAccessStream.cs删除以下检查:
if (!response.Headers.ContainsKey("Accept-Ranges"))
{
throw new Exception(String.Format(
"HTTP server does not support range requests: {0}",
"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.5"));
}
但服务器仍然需要支持范围请求。
还有一个版本的sample for MediaPlayerElement。
嗨,队友,谢谢你的回应。看起来我运气不好,因为服务器不支持范围请求。有任何建议吗? – hlovbeyond
你可以分享托管你的视频的URI吗? – kiewic