Wann tritt das Ereignis „Illegal_State“ im Android-TVSDK auf?

„Illegal_State wird im Allgemeinen angezeigt, wenn sich der Player nicht im Leerlaufstatus befindet. reset() wird im Allgemeinen vor replaceCurrentResource() aufgerufen und der Player sollte waren, bis reset() abgeschlossen ist, da es die gleiche Ereignisreihe enthält, sollte der Spieler warten, bis das abgeschlossen ist.“

Wenn Sie eine MediaPlayer-Instanz zurücksetzen, wird sie in ihren nicht initialisierten Leerlaufstatus zurückgesetzt, wie er im MediaPlayerStatus definiert ist. Diese Operation ist in den folgenden Fällen nützlich:

Sie möchten eine MediaPlayer-Instanz wiederverwenden, müssen aber eine neue MediaResource (Videoinhalt) laden und die vorherige Instanz ersetzen. Durch Zurücksetzen können Sie die MediaPlayer-Instanz wiederverwenden, ohne den Aufwand der Freigabe von Ressourcen, der Wiederherstellung des MediaPlayers und der Neuzuweisung von Ressourcen zu haben. Wenn sich der MediaPlayer im Status „ERROR“ befindet und gelöscht werden muss.

Wichtig: Dies ist die einzige Möglichkeit zur Behebung des „ERROR“-Status. Rufen Sie reset auf, um die MediaPlayer-Instanz in ihren nicht initialisierten Zustand zurückzubringen: void reset() löst MediaPlayerException aus;

Methode: replaceCurrentResource() - Das TVSDK bietet die Möglichkeit, Inhalte mit der Methode replaceCurrentResource im MediaPlayer zu laden und für die Wiedergabe vorzubereiten. Diese Methode verwendet zwei Argumente, eine Instanz von MediaPlayerResource und optional eine Instanz von MediaPlayerItemConfig, mit der Sie anwendungsspezifische benutzerdefinierte Parameter übergeben können.  Sie wird verwendet, wenn Sie eine MediaPlayerInstanz wiederverwenden möchten, aber eine neue MediaResource (Videoinhalt) laden und die vorherige Instanz ersetzen müssen. Durch Zurücksetzen können Sie die MediaPlayer-Instanz wiederverwenden, ohne den Aufwand der Freigabe von Ressourcen, der Wiederherstellung des MediaPlayers und der Neuzuweisung von Ressourcen zu haben.