2009-09-15 5 views
1

J'utilise le lecteur de musique d'application MPMusicPlayerController, créé comme:MPMusicPlayerController ne respecte pas le commutateur de mise en sourdine de l'appareil?

appMusicPlayer = [MPMusicPlayerController applicationMusicPlayer]; 

La question est qu'il jouer de la musique, quel que soit le réglage du dispositif commutateur de coupure est, il ne semble pas se soucier de toute façon . Y a-t-il un mode de session audio que je dois avoir pour le faire respecter?

Répondre

0

Fwiw Je vois le même problème. Je soupçonne que, comme l'application iPod elle-même, il ne respectera jamais le commutateur muet. Essayez d'utiliser iPodMusicPlayer au lieu de l'application MusicPlayer.

+0

... sauf si vous implémentez vous-même le comportement – Daniel

2

Oui. Vous voulez utiliser l'une des constantes suivantes pour votre session audio Catégorie:

kAudioSessionCategory_AmbientSound 
kAudioSessionCategory_SoloAmbientSound 

Ce sont ceux qui se taisent lorsque le commutateur Sonnerie/Silencieux est réglé sur silencieux.

+0

Merci pour la suggestion, mais cela ne semble pas fonctionner. J'ai essayé de passer à l'une de ces sessions via l'AudioToolbox et l'AVFoundation mais aucun ne semble affecter la session audio pour MPMusicPlayerController. Il ignore toujours l'interrupteur de sourdine. Pour référence voici la dernière façon dont je tente de définir la session: [[AVAudioSession sharedInstance] setCategory: erreur AVAudioSessionCategorySoloAmbient: nil]; [[AVAudioSession sharedInstance] setActive: erreur YES: nulle]; –

Questions connexes