Ho un'istanza di Mediaplayer in esecuzione in un servizio in background. Nella mia attività principale ho una vista surfaceview.Come scollegare/rilasciare surfaceview da Android Mediaplayer
Quando viene avviata l'attività e viene creata la vista della super fi cie, eseguo il bind al servizio e imposta la superficie di visualizzazione del mediaplayer sulla vista superficiale dalla mia attività principale. Faccio questo con mPlayer.setSurface(sv.getHolder().getSurface());
Il video viene visualizzato e tutto funziona bene finora. Quando la mia vista superficiale viene distrutta, nel callback surfaceDestroyed()
provo a staccare la vista superficiale dal mediaplayer chiamando lo mPlayer.setSurface(null);
. Il problema è che quando faccio questo ottengo un errore dal mediaplayer (codice di errore 1).
Quindi la mia domanda è questa, dopo aver impostato un oggetto MediaPlayer e ho impostato la vista superficiale con mPlayer.setSurface(sv.getHolder().getSurface());
c'è un modo per rilasciare o scollegare tale vista senza arrestare o reinizializzare l'oggetto mediaplayer?
Grazie in anticipo.
Cosa cerchi di rimuovere la superficie dal lettore multimediale? – artkoenig
@Artjom cosa sto cercando di fare è questo: se l'utente chiude lo schermo o si allontana dalla mia attività principale, voglio continuare a riprodurre la parte audio del video in background. Se l'utente reentra la mia attività e se una clip è in riproduzione nel mio servizio in background, voglio visualizzare automaticamente il video nella mia vista frontale. C'è un modo per farlo senza fermare o reimpostare l'oggetto MediaPlayer? – ilikekiwis
@ilikekiwis Sto provando a fare la stessa cosa qui. Ti è venuta un'idea ultimamente? – Wesley