dans iOS 5, Comment utiliser AudioSession pour s'assurer que l'audio est joué par le haut-parleur bien que l'écouteur soit branché?

- (void)viewDidLoad { [super viewDidLoad]; NSSsortingng *filePath = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp3"]; // Convert the file path to a URL. NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath]; [[AVAudioSession sharedInstance] setDelegate: self]; UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride); //Initialize the AVAudioPlayer. self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil]; self.audioPlayer.volume = 1.0; // Preloads the buffer and prepares the audio for playing. [self.audioPlayer prepareToPlay]; } 

il signale l'erreur d'exécution:

 Undefined symbols for architecture armv7: "_AudioSessionSetProperty", referenced from: -[SoundTesterViewController viewDidLoad] in SoundTesterViewController.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Assurez-vous d'inclure la bibliothèque AudioToolbox dans xCode. J'ai eu la même erreur parce que les files ont été importés mais n'ont pas lié la bibliothèque au projet.

Cela devrait vous débarrasser de l'erreur que vous avez.

Bonne journée!