Ich habe ein seltsames Problem mit einer Video-Streaming-Anwendung, an der ich gerade arbeite. Das tatsächliche Streaming von Video / Audio funktioniert auf allen meinen Testgeräten einwandfrei. Auf Geräten 4.0+ scheint prepare () jedoch bei Verwendung einer RTSP-URL augenblicklich zurückzukehren (dies verursacht ein Problem, das den Benutzern während des Ladens eines Videos eine angemessene Rückmeldung gibt und einige andere Systeme stört) / p>
Unten ist der Codeblock, in dem ich meinen MediaPlayer initialisiere und einrichte, aber behalte ein paar Dinge im Hinterkopf:
Ich habe versucht, dies für eine lächerliche Zeit zu beheben, und konnte niemanden finden, der auf dieses Problem gestoßen ist. Irgendwelche Ideen würden sehr geschätzt werden.
%Vor% Verwenden Sie mp.prepareAsync()
, da dies für Streaming-Medien besser ist . Verwenden Sie prepare()
Blöcke, bis der MediaPlayer zur Wiedergabe bereit ist oder eine IllegalStateException auftritt. In android 4 (ICS) ist das Blockieren auf einem beliebigen UI-Thread noch strenger und kann dazu führen, dass ein ANR-Dialog (Aktivität reagiert nicht) angezeigt wird.
Ein letzter Gedanke, versuchen Sie, e.printStackTrace();
in Android-Apps zu vermeiden.
Verwenden Sie stattdessen Log.e("TAG_STRING", e.getMessage(), e);
, um Fehler an das Android-Protokollierungssystem zu drucken, auf das Sie über logcat zugreifen können .
Alles in allem sollte es ungefähr so aussehen:
%Vor%Tags und Links android android-4.0 media-player rtsp