Воспроизведение аудио не начинается - PullRequest
2 голосов
/ 05 августа 2010
NSError *err;

// Initialize audio player
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&err];

audioPlayer.delegate = self;
[audioPlayer play];

С помощью приведенного выше кода я пытаюсь инициализировать воспроизведение файла .mp3, однако воспроизведение не начинается вообще. Нет звука. Что я делаю неправильно? Я проверил 'err' и там ничего нет.

Редактировать: после добавления AVAudioSession я получаю следующую ошибку от AVAudioPlayer

The operation couldn’t be completed. (OSStatus error -43.)

Ответы [ 2 ]

5 голосов
/ 05 августа 2010

Видимо AVAudioPlayer не поддерживает потоковую передачу через. HTTP, как я пытался сделать, поэтому с помощью AVPlayer вместо этого я получил его.

0 голосов
/ 05 августа 2010

Вы инициализировали AVAudioSession?

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

Инициализация:

AVAudioSession* session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryAmbient error:nil];
[session setActive:TRUE error:nil]; 

Загрузка:

AVAudioPlayer* audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileUrl error:nil];
audioPlayer.numberOfLoops = 0;
[audioPlayer prepareToPlay];
audioPlayer.volume = 1.0;

Игра:

[audioPlayer play];

Обновление

Чтобы найти правильный NSRUL для fileUrl, я использовал этот код:

NSURL* fileUrl = [NSURL fileURLWithPath:
     [[NSBundle mainBundle] pathForResource:@"MySound" ofType:@"wav"] isDirectory:NO];

И затем я добавил MySound.wav в проект (комплектация)).

...