2009-08-07 3 views
4

-je utiliser AVAudioPlayer et MPMoviePlayerController simultanément i.e. jouer un film alors que la boucle de fond joue est-il possible.
Ma boucle de musique bg cesse de fonctionner lorsqu'un film commence à jouer, j'ai donc essayé d'arrêter la boucle de musique bg et de démarrer le film et quand le film s'arrête, recommencez la boucle bg mais cela ne fonctionne pas non plus.En utilisant AVAudioPlayer et MPMoviePlayerController simultanément

+0

Devrait-il être fait en utilisant AudioQueue si oui comment? Je suis nouveau sur iPhone et la compréhension de la documentation AudioQueue est vraiment difficile pour moi. –

+0

ok mon erreur d'arrêt et de lecture AVAudioPlayer fonctionne avant que le démarrage et l'arrêt du film ne fonctionnent, mais est-il vraiment impossible d'utiliser simultanément AVAudioPlayer et MPMoviePlayerController? –

Répondre

1

Il existe une limitation dans le SDK iPhone actuel (2.x et 3.x) qui ne permet pas la lecture de l'arrière-plan audio pendant la lecture d'un film dans l'API MPMoviePlayerController. Malheureusement, il n'est pas possible de faire ce que vous demandez en ce moment dans le SDK iPhone.

Je suggère logging an enhancement request à Apple pour offrir cela dans une future version du SDK.

2

En fait, il est réalisable à partir de 3.x. Je l'avais déjà fait dans une de mes applications et cela n'avait rien à voir avec des arrière-plans ou d'autres nouvelles fonctionnalités iOS. Vous avez juste besoin de configurer les sessions audio correctement. Si vous vous assurez que votre lecteur audio ainsi que le lecteur vidéo utilisent la session audio ambiante, c'est possible. Avant de lancer votre AVAudioPlayer pour jouer, réglez la catégorie de session audio sur AVAudioSessionCategoryAmbient. C'est la session audio commune à l'ensemble du système. Cela permet d'autres sons tels que le son de l'application iPod. Si vous utilisez le MPMoviePlayerController à partir d'iOS 3.2 ou supérieur, veillez à régler useApplicationAudioSession sur NO. Cela garantit d'autres sons à jouer. C'est la valeur par défaut dans les versions antérieures d'iOS.

+1

Hé, ça a marché Merci. Si quelqu'un se demande comment définir la catégorie de session audio, utilisez ceci. '[[AVAudioSession sharedInstance] setCategory: erreur AVAudioSessionCategoryAmbient: nil];' – NSRover

Questions connexes