wie wird der Fortschrittsbalken angezeigt, bevor das Video abgespielt wird?

7

Ich möchte den Fortschrittsdialog vor dem Abspielen des Videos anzeigen. Ich habe versucht, unten Linkbeispiel für das Abspielen von Video.

Ссылка

es funktioniert, aber es dauert länger, um Video abzuspielen, also möchte ich vor dem Start des Videos einen Fortschrittsdialog anzeigen. Bitte sagen Sie mir, wie Sie den Fortschrittsdialog anzeigen können, bevor Sie das Video abspielen.

Danke.

Beste Grüße.

    
Ramakrishna 07.02.2011, 13:40
quelle

3 Antworten

18

Erklären Sie zuerst den Fortschrittsdialog

%Vor%

Starten Sie dann in onCreate vor dem Aufruf von runOnUiThread das Dialogfeld

%Vor%

Stellen Sie in playVideo einen OnPreparedListener ein, der den Dialog schließt, wenn das Video zur Wiedergabe bereit ist.

%Vor%     
Cameron 07.02.2011, 16:35
quelle
8

IMHO in diesem Fall ist es graziöser, das ProgressBar-Widget im Fortschrittsdialog zu verwenden. Es sieht besser auf der Videooberfläche aus. Sie können die Fortschrittsleiste zum Layout Ihrer Aktivität über dem VideoView hinzufügen:

%Vor%

Zeigen Sie in onCreate vor dem Aufruf von runOnUiThread den Fortschritt an:

%Vor%

In onPrepared Callback verbergen Sie den Fortschritt:

%Vor%     
ackio 16.02.2011 06:15
quelle
2

Ich würde vorschlagen, dass Sie sich die AsyncTask-Dokumentation ansehen, diese scheint ideal geeignet zu sein, um Video-Pre zu machen -Wird geladen. Auf diese Weise können Sie den UI-Thread während des Ladens stabil halten. Es gibt ein Beispiel für die Verwendung der AsyncTask-Methode hier .

So fügen Sie einen Fortschrittsdialog hinzu:

  • Erstellen Sie einen privaten ProgressDialog Objekt als Teil einer Erweiterungsklasse von AsyncTask.
  • In der Methode onPreExecute() können Sie Einstellungen für den Fortschrittsdialog vornehmen auf, wie zum Beispiel: %Code%
  • Verwerfen Sie in der pd.setMessage(...) pd.setTitle(...) pd.show(...) -Methode den Dialog: onPostExecute(...)

Außerdem können Sie den Fortschrittsdialog mit der Methode pd.dismiss(); aktualisieren oder alternativ eine Schleifenanimation mit der Methode incrementProgressBy(...) verwenden. Dem Benutzer Feedback zum geladenen Fortschritt zu geben, ist eine gute Idee im UI-Design:)

Ich hoffe, das hilft!

    
Sam Hogarth 07.02.2011 13:51
quelle