2012-09-15 5 views
3

Je suis en train d'essayer de créer une application Win8 Metro. Im essayant de lire la vidéo à distance qui est sur le Web dans l'élément de médias.WinRT C# Metro Lecture MediaElement Asynchronous

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

La première diffusion prend du temps. Il faut du temps à la vidéo pour commencer à jouer, dans ce cas, l'application est verrouillée. Je veux faire ça en jouant de façon ascétique. Comment puis-je obtenir cela.

+0

Recherchez la notion de promesse http://msdn.microsoft.com/fr-fr/library/windows/apps/br211867.aspx – TommyBs

+0

Merci pour votre aide, mais est-il équivalent à C# de cette –

Répondre

3

Après une recherche, je découvre qu'avec l'élément dispatcher, je peux faire mon travail de manière asynchrone. Voici l'exemple:

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

     ); 

Vous devez marquer la fonction d'appel comme async pour ce bloc de code pour fonctionner.

Questions connexes