Я пытаюсь воспроизвести записанный файл в AVAudioPlayer. Он отлично воспроизводит мою локальную запись, но когда я пытаюсь воспроизвести тот же файл, хранящийся на сервере, с действующим URL-адресом, он не воспроизводит звук ..?

Я старался

NSURL *url = [NSURL URLWithString:self.filePathUrl];
NSData *memoData = [NSData dataWithContentsOfURL:url];
newPlayer = [[AVAudioPlayer alloc] initWithData:memoData error:nil];//[[AVAudioPlayer alloc] initWithContentsOfURL:url error: nil];

Это не работает..

Я не понимаю, что происходит при получении данных с URL-адреса. Я тоже получаю свои данные. его длина не равна 0. Формат файла на сервере только .caf. Пожалуйста, помогите мне разобраться в проблеме.

Спасибо.

1
Kapil Choubisa 3 Май 2011 в 16:32
Разве он не возвращает ошибку, когда вы используете объект NSError вместо nil?
 – 
Thizzer
3 Май 2011 в 17:34
Вы можете перейти по ссылке: stackoverflow.com/ questions / 1605846 /…
 – 
iPhoneDv
4 Май 2011 в 13:54

2 ответа

Лучший ответ

Вы должны запустить аудиоплеер

  [newPlayer play];
5
Thizzer 3 Май 2011 в 16:39

AVAudioPlayer может воспроизводить только локальные файлы. См. страницу разработчиков Apple о поддержке потоковой передачи AVAudioPlayer.

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

Надеюсь это поможет.

3
dcdroid 23 Авг 2012 в 22:06