2010-04-28 9 views
5

Sto lavorando con il lettore multimediale su un'applicazione di streaming (RTSP):Come riprendere la riproduzione del video dopo che la superficie è stata distrutta?

video e l'audio vengono riprodotti grande, ma quando una chiamata in arrivo mette in pausa la Activity, la superficie è distrutto (lo so perché di tracce in SurfaceHolder.Callback).

Al termine della chiamata, l'attività riprende e viene creato un nuovo Surface. Ho provato ad assegnarlo al lettore tramite il metodo setDisplay(SurfaceHolder sh) ma finora è possibile ascoltare solo il suono del video.

Il lavoro attorno a riprendere un flusso video è:

  • Riavvia l'oggetto MediaPlayer.
  • Attendere il riempimento del buffer.
  • Eseguire una ricerca tramite mediaPlayer.
  • Attendere il riempimento del buffer.

Questo è fastidioso come il giocatore dovrebbe essere in grado di essere messo in pausa quando si riceve una chiamata, legare la nuova superficie quando la chiamata completata e il Activity curriculum e riprodurre il video senza il buffering a tutti.

+0

hey sono nella stessa situazione sei stato in grado di aggirare il problema. Grazie – Enoobong

risposta

0

Hai provato a sovrascrivere "onStop" o anche "onDestroy" e in qualche modo rendere il lettore persuaso? Edith mi ha appena mostrato il timestamp di questa domanda. È ancora di interesse?

+0

Questo era un problema solo su un determinato modello di Android 1.6. Non penso che questo sia più rilevante. – Fabien