2011-02-01 8 views
5

Perché AVAudioPlayer continua a giocare dopo che applcation è uscito dalla modalità background, anche se il lettore era stato messo in pausa prima che l'app passasse allo sfondo?Perché AVAudioPlayer continua automaticamente a giocare dopo che applcation proviene dalla modalità background?

In comune mi chiedo perché AVAudioPlayer continuare automaticamente la riproduzione dopo l'applicazione viene da sfondo (causa quando applicazione di andare a fondo - non può prendere come beginInterruption come altri delegati di AVAudioPlayer e AVAudioSession). ps: scusa per il mio inglese :)

risposta

0

quando si spinge l'app in background l'app diventa inattiva, cioè non è più attiva. Questo è il motivo per cui non è possibile intercettare beginInterruption. Quando l'app viene messa in primo piano, l'app diventa di nuovo attiva, ecco perché AVAudioPlayer ricomincia a giocare ... Spero che questo aiuti

0

Oggi trascorro parecchie ore cercando di capire esattamente la stessa cosa.

Ogni volta che la mia applicazione entrava in modalità background, l'audio si interrompeva automaticamente dopo UIApplicationDidEnterBackgroundNotification e continuava a giocare prima di ottenere UIApplicationWillEnterForegroundNoticiation. Anche quando l'ho messo in pausa quando ho ricevuto la notifica in background.

enter image description here

Quando ho attivato l'audio UIBackgroundMode, sono stato in grado di mettere in pausa la mia AudioQueue (o AVAudioPlayer se si utilizza questo) io quando l'applicazione è entrato sfondo. Ciò ha portato la mia interfaccia utente a mostrare che il lettore audio è stato messo in pausa e mi ha permesso di ottenere il controllo completo sulla riproduzione audio tra gli stati dell'applicazione.