Je joue une vidéo dans WPF.I Vous voulez que ce soit en boucle, alors ce que j'ai fait est quand l'événement médianisé incendie, je reproche à ma vidéo. Donc, cela me procurera une boucle. prob c'est pourquoi dois-tu encore créer une nouvelle source? pourquoi je ne peux pas juste appeler 'jouer'?
Je ne veux pas le faire dans xaml comme pour une raison quelconque. p>
regarder mon code de code: P>
string startPath System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); public Window1() { InitializeComponent(); media.Source = new Uri(startPath + @"playlist.wpl"); media.play(); } private void Media_Ended(object sender, EventArgs e) { media.Source = new Uri(startPath + @"playlist.wpl"); //if i dont put this line, video wont play..seems like it cant get the source media.Play(); }
5 Réponses :
Au lieu de réinitialiser la source au début de votre gestionnaire multimédia_ped, essayez de régler la valeur de position à la position Démarrer. La propriété de position est une tempalité de temps afin que vous souhaitiez probablement quelque chose comme ...
Merci pour votre réponse. J'ai essayé cela plus tôt mais pas de succès.Video ne repousse pas.
Hmmm ... c'est étrange. Je l'ai testé, mais avec un fichier audio pas une vidéo. Je ne sais pas pourquoi la vidéo serait différente - je vais prendre un autre look.
Pour certaines raisons, cette combinaison ne fonctionne pas parfois! Dans mon cas pour GIF.
Vous n'êtes pas obligé de définir la source à nouveau. Vous devez définir la position du MediaElement vers le début de l'événement Media_riD Strike> <ASX version = "3.0">
<TITLE>Simple ASX Demo</TITLE>
<REPEAT>
<ENTRY>
<TITLE>Vista Butterfly Video</TITLE>
<AUTHOR>Microsoft Corporation</AUTHOR>
<COPYRIGHT>(c)2007 Microsoft Corporation</COPYRIGHT>
<REF HREF = "Butterfly.wmv" />
</ENTRY>
</REPEAT>
</ASX>
Il semble que cela fonctionne si le support est un fichier unique mais ne fonctionne pas si j'utilise un fichier de liste de lecture tel que le format de fichier .WPL ou .asx. n'importe quel indice?
Ainsi, une fois que la liste de lecture complète est terminée ... Vous voulez répéter du premier fichier juste?
Aussi comment gérez-vous votre liste de lecture? AFIK Le MediaElement n'a pas de mécanisme de traitement de la liste de lecture intégré.
Yeah.Je veux jouer à tous depuis le début.So J'ai fait toutes les mêmes idées que votre instruction, mais la source de média est un fichier .WPL. J'ai essayé un fichier .asx mais le même résultat. Il ne se répète pas. Si j'utilise la source de média telle que lexus.mp4, tout va bien en utilisant votre instruction..any idée?
@ biju, thnx mate.i Ça va donner un aller et voir comment.Thnx à nouveau.
Je pense que vous devriez utiliser ce code:
private void Media_Ended(object sender, EventArgs e) { media.Position = TimeSpan.Zero; media.LoadedBehavior = MediaState.Play; }
S'il vous plaît ne fournissez pas de "code uniquement". Pourquoi pensez-vous que c'est la réponse?
Cela a fonctionné pour moi, vous ne pouvez pas appeler "jouer" si le LoadBeHaviour a déjà été réglé pour jouer dans le XAML.
Je le fais fonctionner le réglage du travail non chargéBehavior = "Manuel" et le code Follwing
private void gifAnimation_MediaEnded(object sender, RoutedEventArgs e) { gifAnimation.Position = new TimeSpan(0,0,1); gifAnimation.Play(); }
Cela a fonctionné pour moi! Le réglage à zéro n'a pas fonctionné. suivi des instructions ici et a travaillé pour moi. Mon cas était un gif animé.
Vous n'avez même pas besoin de définir LoadEdbehavior comme fort> manuel fort> juste laissez-le et réinitialisez votre position de média sur la médianie. p> La nouvelle position de la vidéo doit être