iPhone: AVAudioPlayer неподдерживаемый тип файла

Мое приложение загружает mp3 с нашего сервера и воспроизводит его пользователю. Размер файла составляет 64 кбит / с (что вполне приемлемо для iPhone, если я правильно понимаю). Я просмотрел, как это сделать на десятках сайтов, и все они предлагают мне сделать именно это:

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://.../file.mp3"]];
NSError *e = nil;
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:data error&e];
[player setDelegate:self];

Когда я запускаю код, плеер возвращается с нулевым значением, и я получаю следующую ошибку:

2011-02-04 10:44:46.176 MyApp[6052:207] Error loading audio: Error Domain=NSOSStatusErrorDomain Code=1954115647 "The operation couldn’t be completed. (OSStatus error 1954115647.)"
2011-02-04 10:44:49.647 MyApp[6052:207] unsupported file type

Я проверил файл и Я знаю, что это работает. Он будет без проблем воспроизводиться в проигрывателе Windows Media и Quicktime на Mac. Я также загрузил файл в эмулятор iPhone, и он работает без проблем. Файл в порядке, но AVAudioPlayer по какой-то причине он не нравится.

Мне нужно что-то изменить? Есть ли какая-то настройка для NSData, чтобы указать, что это за файл? У кого-нибудь есть идеи?

26
задан mtmurdock 4 February 2011 в 18:41
поделиться