Использование AVAudioPlayer в iOS5? - PullRequest
0 голосов
/ 08 февраля 2012

Итак, я пытаюсь воспроизвести файл .wave в iOS5 и получаю предупреждение, которое приводит к появлению SIGABRT и вообще неработающему коду.

NSURL *soundUrl = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Resources/Sounds/01_main_menu_list.wav", [[NSBundle mainBundle] resourcePath]]];
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
[_audioPlayer setDelegate:self];
[_audioPlayer play];

Это приводит к ошибке "Отправка" ViewController * const __strong "параметру несовместимого типа" id ".

Я буквально понятия не имею, почему, я последовал полдюжине примеров и выхожу пустым. Я бы хотел указатель в правильном направлении.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012

Это должно работать:

NSURL* soundUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"01_main_menu_list" ofType:@"wav"]]; 
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
audioPlayer.delegate = self;
[audioPlayer play];

Если нет, я думаю, что-то не так с файлом WAV.Может быть, кодировка?

0 голосов
/ 21 февраля 2012

Оказалось, что это была проблема с выпуском ARC, я исправил это, добавив пару @property и @synthesize для рассматриваемого AVAudioPlayer и объявив его сильным. Он избавился от всех этих ошибок и проиграл файл без проблем.

...