2012-09-15 79 views
3

我试图构建Win8 metro风格的应用程序。我试图播放在网络媒体元素的远程视频。WinRT C#Metro Play MediaElement异步

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

第一个数据流需要时间。视频开始播放需要时间,在此期间应用程序被锁定。我想这样做,玩的很好。我怎样才能实现这一点。

+0

查看承诺的概念http://msdn.microsoft.com/en-us/library/windows/apps/br211867.aspx – TommyBs

+0

感谢您的帮助,但是有C#等同于此 –

回答

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(); 
     } 

     ); 

您必须将调用函数标记为异步才能使此代码块工作。

相关问题