Mein Programm soll ein Video abspielen, wenn der Benutzer auf die Schaltfläche "Abspielen" klickt. Das erste Antippen von "Play" macht jedoch nichts."MediaElement.CurrentState" wechselt aus unbekannten Gründen in "Geschlossen"
Der Code für diese ziemlich einfach ist, nennt es einfach ‚SetSource‘ auf meinem Media, Videoplayer, und dann spielt:
private async void playVideo_Tapped(object sender, TappedRoutedEventArgs e)
{
await setUpVideo();
VideoPlayer.Play();
}
Ich habe durch ‚setUpVideo()‘ gewesen unzählige Male und alles, was es funktioniert wie es sollte, ruft nur 'VideoPlayer.SetSource()' auf, nachdem sichergestellt wurde, dass die Datei existiert. Es war nicht, bis ich in einem Verfahren warf den Zustand der ‚VideoPlayer.CurrentState‘ zu überwachen, dass ich das Problem erkannt:
public VideoViewer()
{
this.InitializeComponent();
VideoPlayer.CurrentStateChanged += VideoPlayer_CurrentStateChanged;
}
void VideoPlayer_CurrentStateChanged(object sender, RoutedEventArgs e)
{
var foo = VideoPlayer.CurrentState;
}
Wenn ich den Wert von ‚foo‘ überprüfen, während mein Code ausgeführt sehe ich, dass auf das erste Tippen (und nur das erste Tippen) 'VideoPlayer.CurrentState' ändert sich zu 'Öffnen', nachdem 'playVideo_Tapped()' beendet wurde und dann zurück zu 'Geschlossen' wechselt! Jedes weitere Tippen folgt dann dem korrekten Verlauf von 'Öffnen' zu 'Spielen' und dann 'Pausiert', aber das erste Tippen wird immer geschlossen. Warum ist das??