2010-12-30 12 views
5

Sto utilizzando AVPlayer per riprodurre uno streaming audio ed è possibile continuare a farlo in background. Mi chiedo come posso gestire un situtation in cui l'utente perde la connettività internet, in modo da poter fornire un feedback o forse provare a ristabilire la riproduzione dopo alcuni secondi.Come gestire gli errori di AVPlayer mentre l'app è in esecuzione in background?

EDIT: So che la domanda riguarda AVPlayer, ma se si dispone di una risposta con MPMoviePlayerController potrebbe essere utile pure. In questo momento, usando MPMoviePlayerController, sto cercando di ottenere il caso MPMovieFinishReasonPlaybackError dello MPMoviePlayerPlaybackDidFinishReasonUserInfoKey, iscrivendomi allo MPMoviePlayerPlaybackDidFinishNotification ma se f.e. il mio audio viene riprodotto in background e accendo la modalità aereo, non ricevo mai questa notifica; Ricevo solo MPMovieFinishReasonPlaybackEnded e non so come separarlo dal caso in cui l'utente interrompe l'audio.

risposta

4

Ho provato a cercare la fonte effettiva ma ricordo di aver letto da qualche parte che se la riproduzione audio si interrompe (per qualsiasi motivo) uccide il thread in background. La persona che ha scritto riguardo al problema ha parlato della possibile alimentazione del flusso di alcuni contenuti audio vuoti per mantenere vivo il thread. Potrebbe essere possibile inviare una notifica locale da un errore di richiamata che notifica all'utente che l'audio ha riscontrato un errore e dovrà essere riavviato manualmente dall'interno dell'applicazione. Non ho giocato abbastanza con l'API per sapere quale callback è il migliore da usare in questo caso. Se trovo il collegamento che sto cercando, aggiornerò.

EDIT: Ecco la versione di Grant Pannell su audio streaming and multitasking.

+0

Link is dead :( – jocull

+1

Ho trovato una copia su Way Back Machine http://web.archive.org/web/20110525032820/http://digitaldj.net/2010/07/03/ios4-multitasking- developers-hell/ – jocull

+0

@jocull buon uso di webarchiver –

Problemi correlati