2013-03-09 3 views
0

Я пытаюсь понять, почему звуки не играют в моем приложении, так что я создал то, что я думаю, что это так же просто реализация, как это возможно:AVAudioPlayer: Простой звук не играет

NSError *error; 
    NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"canary-trills" ofType:@"wav"]; 
    NSLog(@"string=%@", soundFilePath); 
    NSURL *url = [[NSURL alloc] initFileURLWithPath:soundFilePath]; 
    NSLog(@"URL=%@", url); 
    AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc] 
          initWithContentsOfURL:url error:&error]; 
    [avPlayer prepareToPlay]; 
    BOOL success = [avPlayer play]; 
    NSLog(@"The sound %@ play", success ? @"did" : @"didn't"); 

За консоли , похоже, что он находит ресурс, правильно создает URL. Даже вызов игры указывает на успех. Однако в симуляторе и устройстве звук не воспроизводится.

+0

Это установленный факт, что он просто не работает в симуляторе по какой-то глупой причине. – Linuxios

+0

и какую ошибку вы получаете, возвращаясь через параметр «error», который вы передали в «AVAudioPlayer»? –

+0

NSLog (@ "NSError =% @", ошибка); prints NSError = (null) – Bill

ответ

2

AVAudioPlayer не был сохранен & вышел из сферы действия.

Добавление: @property (сильный, неатомный) AVAudioPlayer * audioPlayer;

классу & с использованием этого элемента решена проблема.

+0

Черт побери. 1 минута поздно. Правильный ответ, кстати. – duci9y

Смежные вопросы