2012-04-01 66 views
4
- (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]; 



} 

它的报告运行时错误:在iOS 5中,如何使用AudioSession确保通过扬声器播放音频,尽管耳机已插入?

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) 
+0

我有同样的问题,此代码工作。 – Madhu 2013-04-17 09:35:38

回答

6

一定要包括Xcode中AudioToolbox库。我有同样的错误,因为文件已导入但未将库链接到项目。

这应该摆脱你有错误。

有一个愉快的一天!

相关问题