2011-07-24 2 views
3

J'utilise le lecteur multimédia de Windows Phone 7 pour lire la musique de la collection de chansons du téléphone. Mais quand il joue de la musique ils seront une exception et l'erreur indiqueLecteur multimédia sous Windows Phone 7

FrameworkDispatcher.Update n'a pas été appelé. Des appels réguliers à FrameworkDispatcher.Update sont nécessaires pour que les effets sonores et les événements de cadre d'incendie et d'oubli puissent fonctionner correctement.

Comment devrais-je modifier mon code?

private void songBtn_Click(object sender, RoutedEventArgs e) 
{ 
    using (var ml = new MediaLibrary()) 
    { 
     foreach (var song in ml.Songs) 
     { 
      System.Diagnostics.Debug.WriteLine(song.Artist + " " + song.Name); 
      MessageBox.Show(song.Artist + " " + song.Name); 
     } 
     MediaPlayer.Play(ml.Songs[0]); 
    } 
} 

Répondre

6

Vous devez appeler

FrameworkDispatcher.Update() 

chaque fois que vous effectuez un appel à une bibliothèque multimédia XNA afin que votre code devrait ressembler à ceci

using (var ml = new MediaLibrary()) 
{ 

    foreach (var song in ml.Songs) 
    { 
     System.Diagnostics.Debug.WriteLine(song.Artist + " " + song.Name); 
     MessageBox.Show(song.Artist + " " + song.Name); 

    } 
    FrameworkDispatcher.Update(); 
    MediaPlayer.Play(ml.Songs[0]); 
} 
+0

Merci Waleed pour aider résolu –

+0

Y at-il un moyen de deteremine quand la chanson s'est terminée alors répétez en jouant la chanson ?? –

+0

utilisez l'événement MediaPlayer.MediaStateChanged pour recevoir des notifications sur la lecture des modifications d'état, puis vous pouvez utiliser MediaPlayer.State pour obtenir l'état actuel, une autre alternative consiste à définir MediaPlayer.IsRepeating sur true pour ne pas avoir besoin de surveiller les modifications d'état – Waleed

2

L'erreur est présente car vous utilisez XNA Framework dans une application Windows Phone 7 classique.

Si vous lisez la description de l'erreur, vous obtiendrez ce lien vers MSDN: Enable XNA Framework Events in Windows Phone Applications, ce qui explique précisément ce qu'il faut faire.