0

Ich möchte eine Methode wie die eine unten schreiben. Für den Fall, dass Silverlight den Stream nicht nativ abspielen kann, möchte ich, dass es eine Liste von MediaStreamSource-Klassen durchläuft und alle nacheinander testet, bis einer von beiden funktioniert, oder es nicht mehr versuchen muss. Meine Frage ist, wie kann ich feststellen, ob die unten angegebene Methode für einen bestimmten Stream ausreicht.Wie testen Sie, ob Silverlight einen Stream wiedergeben kann?

public static void OpenMedia(this MediaElement ME, Stream FileData) 
{ 
    ME.SetSource(FileData); 
} 

Ich brauche etwas Code für den Fall, dass das Medium nicht abgespielt werden kann.

Antwort

1

Ich bin nicht sicher, ob Sie zum Testen Versagen oder Tests auf die Fähigkeit, suchen Sie den Medientyp so zu spielen ...

Sie einen Ereignishandler für MediaFailed, entweder in XAML hinzufügen oder ihn Code hinter beiden Fällen. Die proaktive Überprüfung der Spielbarkeit erfordert eine gewisse Kreativität, beispielsweise einige "Beispiel" -Mediendateien verschiedener Typen, die sehr klein sind (< 1 Sekunde) und leise sind, die dem Zweck dienen, die Spielbarkeit zu testen, und für den Benutzer transparent sind.

Für C# -Code hinter Draht das Ereignis, und das neue Ereignis hinzu:

void yourPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    ME.MediaFailed += new EventHandler<ExceptionRoutedEventArgs>(ME_MediaFailed); 
} 

void ME_MediaFailed(object sender, ExceptionRoutedEventArgs e) 
{ 
    add your code to handle the exception here. 
} 
+0

Ich nehme an, dass die Probe mit Volumen auf 0 gesetzt spielen sollte funktionieren, und lassen Sie die Datei für die Prüfung vor der Wiedergabe der Datei. – ForbesLindesay

Verwandte Themen