Казалось бы, простой код AVAudioPlayer не будет воспроизводить аудиофайл на iPhone - PullRequest
0 голосов
/ 26 июля 2010

Я пытаюсь воспроизводить короткий звук при нажатии кнопки на iPhone;однако, по какой-то причине, когда я нажимаю кнопку (которая вызывает метод playClickSound ниже), звук не воспроизводится.У меня есть проект, связанный с AudioFoundation.framework и звуковым файлом (clickSound.mp3) в папке Resources моего пакета приложений.Может кто-нибудь помочь мне выяснить, чего мне не хватает, и почему AVAudioPlayer не воспроизводит мой звуковой файл?

- (void) playClickSound {

    // Get path of sound file in bundle.
    NSString *path = [[NSBundle mainBundle] pathForResource: @"clickSound" ofType: @"mp3"];

    // Create url from path.
    NSURL *url = [NSURL URLWithString: path];

    // Create error.
    NSError *error;

    // Create audio player, and play file.
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: url error: &error];

    if (![audioPlayer play]) {
        [error localizedDescription];
    }

    [audioPlayer release];



} // playClickSound

1 Ответ

0 голосов
/ 28 сентября 2010

Ваш метод на самом деле никогда не указывает audioPlayer на воспроизведение. Попробуйте это после того, как вы выделите аудиоплеер:

[audioPlayer play];

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

...