2010-07-06 4 views
9

J'ai ajouté la propriété UIBackgroundModes dans Info.plist pour avoir une entrée de tableau "audio" et j'ai ajouté l'appel pour configurer la session audio: [session setCategory: AVAudioSessionCategoryPlayback error: &error];.Est-il possible de tester le multitâche iOS4/musique de fond en jouant sur le simulateur?

Cependant, le seul périphérique de test dont je dispose est l'iPod Touch 2G qui ne prend pas en charge le multitâche. J'ai essayé le simulateur mais la musique s'arrête quand je passe à Safari. Mais quand je reviens à mon application, la chanson continue à jouer à un endroit plus éloigné que lorsque j'ai quitté l'application.

Il semble avoir continué à jouer en arrière-plan, mais je n'ai pas entendu l'audio de mon application lors de l'utilisation d'une autre application (Safari).

+0

Je veux aussi savoir. si nous pouvons tester le multitâche dans le simulateur ou non avec la mise à jour du badge Apns – harshalb

Répondre

18

moi aussi eu le même problème. Dans le simulateur, l'audio s'interrompt et lorsque vous le relancez, il reprend la lecture. Mais le test sur l'appareil fonctionnait parfaitement et l'audio continuait à jouer en arrière-plan. L'exemple de code que j'ai utilisé est

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

J'ai vu le même comportement. Le code qui fonctionne sur l'iPhone 4 avancera silencieusement dans le simulateur. – drawnonward

+0

Je tiens à mentionner que cela fonctionne également avec la classe AVPlayer qui supporte le streaming. La définition de la catégorie permet à une application de diffusion audio de continuer à jouer lorsque l'appareil se verrouille ou que l'application est suspendue. Très utile. –

+0

J'ai dû éditer MyApp-info.plist pour le faire fonctionner. Voir les détails ici http://www.crocodella.com.br/2011/01/using-avplayer-to-play-background-music-from-library/ –

2

u ajouté clé at mode arrière plan requis dans info.plist ... Sinon essayez d'ajouter ceci ... Aller fichier Info.plist et cliquez sur ajouter que ajouter « requis retour modes de sol » le cliquez sur un petit triangle et u obtenir item0 dans cette ajouter "App Plays audio" ... Cela fonctionne très bien ...

~ Raviraja

+0

Oui, je l'ai mentionné dans ma question. Auriez-vous des exemples de projets que je peux exécuter sur mon simulateur qui contient la configuration correcte? Merci. –

1

Ceci a fonctionné même sur l'appareil pour moi.

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

Ceci et définissant la clé info.plist pour activer le son de fond est ce qui est nécessaire pour activer le son d'arrière-plan à jouer dans une application iPhone. Toutefois, si vous souhaitez lire une séquence de fichiers audio alors on aurait besoin d'effectuer chaque opération de lecture en tâche de fond comme celui-ci:

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

Effectuer les opérations nécessaires:

[[UIApplication sharedApplication] endBackgroundTask:bgTask]; 
16

audio en arrière-plan est pas pris en charge dans le simulateur iPhone. Source: WWDC 2010, Session 109 - Adoption de la partie multitâche 2.

Questions connexes