AVAudioPlayer отказывается проигрывать что-либо, но без ошибок и т. Д. - PullRequest
0 голосов
/ 20 февраля 2012

Это самый простой код AVAudioPlayer, и он просто не может воспроизвести что-либо. Никаких ошибок, вообще ничего в консоли, файл определенно найден, как будто я изменяю строку URL на что-то, чего нет, я получаю сбой. Что я здесь не так делаю? Я попробовал это с и без делегата, а также с и без prepareToPlay, и я ничего не могу получить. Я тоже пробовал разные звуковые файлы. На самом деле рву на себе волосы!

@implementation ViewController

- (IBAction)playSound:(id)sender
{
    NSURL *soundLocation = [[NSURL alloc] initWithString:@"Lot01.wav"];
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundLocation error:nil];
    [audioPlayer setDelegate:self];
    [audioPlayer play];
}

@end

Ответы [ 2 ]

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

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

1 голос
/ 20 февраля 2012

Похоже, что путь к вашему файлу неверно получается, возможно, попробуйте что-то вроде этого.

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Lot01" ofType:@"wav"];
NSURL *url = [NSURL fileURLWithPath:filePath];

, затем запустите AVAudioPlayer именно так, как вы были, за исключением того случая, когда он будет с ContentsOfURL: url.

...