Win(Phone)10开发第(4)弹,HTTP 实时流播放 m3u8

Posted by baicai on April 3, 2015

其实这篇只有一句话,win10原生支持HLS啦

AdaptiveMediaSourceCreationResult amsResult = await AdaptiveMediaSource.CreateFromUriAsync(new Uri(“http://xxxxx.m3u8”, UriKind.Absolute));
AdaptiveMediaSource ams = amsResult.MediaSource;
mediaElement.SetMediaStreamSource(ams);

MSDN如是说:

你可以使用新的 AdaptiveMediaSource 类将自适应媒体流功能添加到你的应用。通过将对象指向流清单文件对其进行初始化。受支持的清单格式包括 HTTP 实时流 (HLS)、基于 HTTP 的动态自适应流 (DASH) 以及平滑流。一旦将对象绑定到 XAML 媒体元素,将开始自适应播放。可以在适当情况下查询和设置流的属性,例如可用比特率、最小和最大比特率。

还一个关于<strong>MediaElement </strong>的:

在 Windows 10 上,MediaElement 将播放包含多个流的内容,即使其中一个流具有错误解码,只要媒体内容包含至少一个有效流即可。例如,如果包含音频和视频流的内容中的视频流失败, MediaElement 仍将播放的音频流。 PartialMediaFailureDetected 会通知你流内的其中一个流无法解码。它还允许你知道哪种类型的流失败,以便你可以在 UI 中反映该信息。如果在媒体流内的所有流失败, 将引发 MediaFailed 事件。