WinRT C# Metro 播放 MediaElement 异步

3

我正在尝试构建Win8 Metro风格的应用程序。我正在尝试在媒体元素中播放网络上的远程视频。

      MediaElement media = new MediaElement();
        Uri url = new Uri("some url on web");
        media.Source = url;
        media.Play();

第一次流媒体会花费时间。视频启动播放需要一些时间,在此期间应用程序会被锁定。我想要异步地进行播放。我该如何实现这一目标。


查阅 Promise 的概念:http://msdn.microsoft.com/zh-cn/library/windows/apps/br211867.aspx - TommyBs
谢谢您的帮助,但是是否有C#的等效方法? - Abdullah Erbey
1个回答

3

经过一些搜索,我发现使用调度程序元素可以使我的工作异步进行。以下是示例:

await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
         {
            MediaElement media = new MediaElement();
            Uri url = new Uri("some url on web");
            media.Source = url;
            media.Play();
         }

        );

为了使这个代码块运行起来,你需要将调用函数标记为异步。


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