在iOS 5中,如何使用AudioSession来确保通过扬声器播放audio虽然耳机插入?

- (void)viewDidLoad { [super viewDidLoad]; NSString *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]; } 

它报告运行时错误:

 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) 

请确保在xCode中包含AudioToolbox库。 我有相同的错误,因为文件已导入但未将库链接到项目。

这应该摆脱你有错误。

祝你今天愉快!