Ho un'app che riproduce lo streaming audio da un server SHOUTcast. Tutto funziona correttamente quando l'app è in primo piano e il blocco automatico è disabilitato. L'app è comunque anche in grado di riprodurre audio in background, questa funzione ha sempre funzionato bene su iOS 6 e iOS 7. Ma ora i miei utenti segnalano che l'audio in background si interrompe dopo circa 10 minuti dall'aggiornamento a iOS 8.iOS 8 interrompe lo streaming audio in background dopo 10 minuti
Sono in grado di riprodurre il problema da solo eseguendo semplicemente l'app su iOS 8. Poiché l'app stessa è piuttosto complicata, ho realizzato una semplice demo per mostrare il problema. Sto usando Xcode 6 e Base SDK è impostato su iOS 8. Ho aggiunto audio a UIBackgroundModes nel mio Info.plist. Qualcuno sa cosa c'è di sbagliato con il codice qui sotto?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSURL *streamingURL = [NSURL URLWithString:@"http://www.radiofmgold.be/stream.php?ext=pls"];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:streamingURL];
[self setPlayerItem:playerItem];
AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];
[player setAllowsExternalPlayback:NO];
[self setPlayer:player];
[player play];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
return YES;
}
Si prega di condividere la correzione se ne trovate uno. Anche i miei utenti segnalano questo problema. Non posso riprodurlo – RawMean
Inizialmente non ero in grado di riprodurre il problema poiché il problema non si verificava con tutti i collegamenti di streaming. Lo streaming nel mio codice tuttavia si interrompe sempre dopo dieci minuti mentre funzionava perfettamente su iOS 7. Davvero fastidioso poiché questo streaming è la funzionalità principale della mia app e sono sopraffatto da recensioni a una stella e reclami da parte degli utenti in questo momento . Metterò una taglia su questa domanda al più presto, ma temo che questo sia un bug da parte di Apple. Spero davvero di poter risolvere il problema da solo ... La mia app si basa fondamentalmente su questa funzionalità. – s1m0n
Ciao ragazzi, sto vivendo lo stesso problema. Mi sembra che Apple l'abbia fregato. Nel mio caso, il tempo che intercorre tra la fine del flusso e la riproduzione varia molto (5 minuti fino a 12 minuti). Sembra che il flusso improvvisamente perde la connessione e quindi riproduce finché non esaurisce i dati memorizzati nel buffer. Accade quando App è in primo piano e quando è in background. L'unico modo per gestirlo è osservare lo stato di AVPlayerItem. Lo posterò come risposta. – Hendrik