我正在尝试将HLS流分配给MediaElement
,然后立即播放,但我没有这样做。
它是一个UWP应用程序(Windows 10)。
Uri hlsUri = new Uri("http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8");
AdaptiveMediaSourceCreationResult hlsSource = await AdaptiveMediaSource.CreateFromUriAsync(hlsUri);
if (hlsSource .Status == AdaptiveMediaSourceCreationStatus.Success)
{
videoPlayer.SetMediaStreamSource(hlsSource .MediaSource);
videoPlayer.Play();
}
出于某种原因,这件事情并不奏效。 StreamSource已设置,但由于某种原因,Play()
在此之前执行。
我尝试将CreateFromUriAsync
方法包装在Task
中,与建议的here一样,等待结果,但我无法使其正常工作。
它适用于await Task.Delay(TimeSpan.FromMilliseconds(400));
,但在我看来就像一个滴答作响的定时炸弹。但是,它让我相信,我的问题在async
方法的某个地方。
答案 0 :(得分:1)
如果您想在MediaElement
设置后立即开始播放,我建议您将其AutoPlay
属性设置为true。这应该工作! :)