Ich versuche, mehrere Videos in Schleife mit MediaPlayer (Android ICS) zu spielen und die Videos jedes Mal ändern, wenn oncompletion() aufgerufen wird.setVideoSurfaceTexture fehlgeschlagen: -22 in Mediaplayer
Es funktioniert großartig, aber nach einer zufälligen Zeit bekommen die Anwendung einfrieren und ich den Fehler:
[Surface] connect: bereits angeschlossen (cur = 3, erf = 3) setVideoSurfaceTexture fehlgeschlagen: -22
Wenn diese Fehler passieren, intern nennt es den Reset-Spieler
ref: mediaplayer.cpp
nach meinem Code bekomme ich die Benachrichtigung für onprepared() und starten Sie die Wiedergabe.
Eigentlich gibt es keine Wiedergabe aufgrund dieses Fehlers.
Also versuche ich den Mediaplayer zurückzusetzen und call prepare() wenn dieses Problem passiert und der Mediaplayer nicht spielt, aber ich kann diesen Fehler nicht erfassen (mp.isPlaying() -> true (bec'z heißt start)() in onprepared()).
ich versuche, die Logik wie
onprepared() {
mp.start();
if (pbm : [SurfaceView] connect : already connected (cur=3, req=3)
setVideoSurfaceTexture failed : -22 ) {
reset the mediaplayer source and call prepare
}
}
wie kann ich orten diesen Fehler den Mediaplayer zum Neustart wieder?