2010-12-27 10 views
5


Ho problemi con la ricerca di video. La mia applicazione dovrebbe riprendere il video dal luogo in cui è stato interrotto l'ultima volta. Così faccio questo: seekTo in VideoView

videoView.seekTo(bookmark); 
videoView.start();
Tuttavia quando suona sento dei suoni che iniziano con il video per circa 1-2 secondi. E solo dopo che il video cerca la giusta posizione. Questo comportamento è riproducibile su HTC Nexus One, HTC G1, HTC Evo. Ma nella scheda Samsung Galaxy tutte le riproduzioni normalmente.

Qualcuno ha avuto problemi simili? Questo bug è specifico per HTC? Grazie in anticipo.

risposta

1

immagino che può essere un motivo:

da api doc

Anche se il seekTo asynchronuous (int) chiamata restituisce modo giusto, l'effettivo funzionamento cercare potrebbe richiedere un po 'per finire, soprattutto per l'audio/video essere in streaming. Quando l'operazione di ricerca effettiva viene completata, il motore del player interno chiama un utente fornito da OnSeekComplete.onSeekComplete() se un OnSeekCompleteListener è stato registrato in precedenza tramite setOnSeekCompleteListener (OnSeekCompleteListener).

ora VideoView non ha OnSeekCompleteListener esposto e fa schifo, ma VideoView è solo una classe wrapper per Mediaplayer e SurfaceView

+0

Grazie per una risposta. E grazie anche per l'idea sull'implementazione di VideoView personalizzati con il mio – underwood

+0

buona fortuna per il tuo progetto! – mishkin

+2

Ho provato a implementare VideoView da solo. Ho ancora gli stessi problemi anche se chiamo 'start()' dopo che 'onSeekComplete()' viene chiamato. Per prima cosa ho pensato che il problema fosse in "VideoView.mSHCallback' che chiama' start() 'su OS 1.6 e ha apportato delle correzioni. Quindi chiamo 'start()' solo dopo che il giocatore è pronto e la posizione di ricerca è impostata. Ancora avendo singhiozzo all'avvio. – underwood

3

Non è sicuramente specifico per il telefono. Sto avendo lo stesso problema su un HTC Incredible. Il seekTo funziona ma c'è un problema audio dall'inizio della clip. Sulla base dei risultati che cercano di implementare la VideoView personalizzata, credo che non andrò nei guai. Ora vedrò se posso disattivare l'audio all'inizio della clip. Riporterò qui se avrò successo.

Bene, ho rinunciato a questo. L'unico modo che ho trovato per silenziare l'inizio della clip è quello di silenziare completamente il telefono, che escluderebbe anche la musica di sottofondo. I assumerà che questo sarà fissato in futuro dal momento che questo è un problema noto:

http://code.google.com/p/android/issues/detail?id=9135 Edizione 9135: MediaPlayer/VideoView e seekTo prima di riproduzione iniziale comincia dall'inizio per pochi millisecs