2010-07-06 17 views
9

Ho aggiunto la proprietà UIBackgroundModes in Info.plist per avere una voce dell'array "audio" e ho aggiunto la chiamata per l'installazione della sessione audio: [session setCategory: AVAudioSessionCategoryPlayback error: &error];.È possibile testare il multitasking/musica di sottofondo di iOS4 in esecuzione sul simulatore?

Tuttavia, l'unico dispositivo di prova che ho è l'iPod Touch 2G che non supporta il multitasking. Ho provato il simulatore ma la musica smette di suonare quando passo a Safari. Ma quando torno alla mia app, la canzone continua a suonare in una posizione più lontana rispetto a quando ho lasciato l'app.

Sembra aver continuato a suonare in background ma non ho sentito l'audio della mia app mentre usavo un'altra app (Safari).

+0

Voglio anche sapere. se possiamo testare il multitasking in simulatore o non con apns badge update – harshalb

risposta

18

anch'io ho avuto lo stesso problema. Nel simulatore l'audio si interrompe e quando lo si riavvia riprende la riproduzione. Ma testando il dispositivo ha funzionato perfettamente e l'audio ha continuato a suonare in sottofondo. Il codice di esempio che ho usato è

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
[audioPlayer play]; 
+0

Ho visto lo stesso comportamento. Il codice che funziona su iPhone 4 avanzerà silenziosamente nel simulatore. – drawnonward

+0

Voglio dire che questo funziona anche con la classe AVPlayer che supporta lo streaming. L'impostazione della categoria consente di continuare a riprodurre un'app di streaming audio quando il dispositivo si blocca o l'app viene sospesa. Molto utile. –

+0

Ho dovuto modificare MyApp-info.plist per farlo funzionare. Vedere i dettagli qui http://www.crocodella.com.br/2011/01/using-avplayer-to-play-background-music-from-library/ –

2

Ha aggiunto la chiave di modalità di messa a terra obbligatoria in info.plist ... Se non si prova ad aggiungere questo ... Vai al file info.plist e fare clic su Aggiungi in aggiunta "Modalità back ground necessarie" fare clic su un piccolo triangolo e la u otterrà item0 in che aggiungono "App Plays audio" ... Questo funziona bene ...

~ Raviraja

+0

Sì, ho detto che nella mia domanda. Ti piacerebbe avere progetti di esempio che posso eseguire sul mio simulatore che contiene la configurazione corretta? Grazie. –

1

Questo ha funzionato anche sul dispositivo per me.

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
[audioPlayer play]; 

Questo e impostando la chiave info.plist per attivare l'audio di fondo è ciò che è necessario per consentire audio di sottofondo giocare in un'applicazione per iPhone. Tuttavia, se si desidera riprodurre una sequenza di file audio, allora si avrebbe bisogno di eseguire ogni operazione di riproduzione come attività in background come questo:

UIBackgroundTaskIdentifier bgTask = [[UIApplication sharedApplication]beginBackgroundTaskWithExpirationHandler:nil]; 

eseguire le operazioni necessarie:

[[UIApplication sharedApplication] endBackgroundTask:bgTask]; 
16

audio sfondo è non supportato nel simulatore iPhone. Fonte: WWDC 2010, Sessione 109 - Adozione della parte Multitasking 2.

Problemi correlati