в iOS 5, как использовать AudioSession, чтобы звук воспроизводился через динамик, хотя наушники подключены? - PullRequest
4 голосов
/ 01 апреля 2012
- (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)

1 Ответ

6 голосов
/ 03 апреля 2012

Обязательно включите библиотеку AudioToolbox в xCode.У меня была такая же ошибка, потому что файлы были импортированы, но я не связывал библиотеку с проектом.

Это должно избавить от вашей ошибки.

Хорошего дня!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...