24

Per la visualizzazione di video in Android, ho aggiunto alcuni listener di lettori multimediali come onPreparedListener, onCompletionListener ecc. Ma quando il video viene completato, onCompletionListener non viene chiamato. Inoltre osserviamo che qualcosa suCompletionListener viene chiamato e talvolta no.Nella scheda galassia, onCompletionListener di videoView non viene chiamato

Questo problema si verifica solo per tablet Samsung Galaxy versione 4.1.2. E lo stesso codice aveva funzionato correttamente su un altro dispositivo Samsung come S2, S3, S4, ecc.

Qualcuno ha idee?

+1

Hai visto qualcosa di strano nel LogCat? Ti suggerisco di tenere traccia del comportamento di riproduzione e di pubblicare un logCat completo (qualsiasi eccezione media può essere d'aiuto) – bonnyz

+2

https://code.google.com/p/android/issues/detail?id=59185 related? – Slartibartfast

+2

Potremmo vedere il codice del listener? – matty357

risposta

1

Due commenti.

  1. Per controllare se la VideoView causa il problema. poiché l'interfaccia OnCompletionListener di VideoView è solo un involucro per l'interfaccia OnCompletionListener di MediaPlayer, è possibile utilizzare direttamente un MediaPlayer per riprodurre il file video e verificare se il suo OnCompletionListener funziona sempre.

    -se accade lo stesso, significa che MediaPlayer non può riprodurre correttamente il file video, forse è necessario controllare a fondo il callback onError().

  2. controllare se il file video o Uri punta a un file video danneggiato, è possibile utilizzare gli strumenti come mp4dump per scaricare le informazioni sul file.

Spero che sia d'aiuto.

0

Non sono sicuro ma Solo un trucco che potrebbe risolvere il tuo problema: trova la lunghezza totale del video e controlla se la posizione corrente è stata raggiunta. se la condizione soddisfa, copia il codice di onCompletion qui.