NSString *songNameEscaped = [songName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *songURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", @"http://somerootpath/Music/", songNameEscaped]];
NSLog(@"songURL = %@", songURL);
NSError *avPlayerError = nil;
AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:songURL error:&avPlayerError];
if (avPlayerError)
{
NSLog(@"Error: %@", [avPlayerError description]);
}
else
{
[avPlayer play];
}
Если я скопирую вывод NSLog из NSLog(@"songURL = %@", songURL);
и вставлю его в safari, плагин Quicktime без проблем воспроизводит файлы, поэтому я знаю, что URL-адреса действительны.Я пытался с .m4a
и .mp3
файлами и пытался удалить пробелы из songName
, но неважно, что я всегда получаю Ошибка:
Ошибка домена = NSOSStatusErrorDomain Code = -43 "Операция не может быть завершена. (Ошибка OSStatus -43.) ".
Но это просто стандартные .m4a
/ .mp3
файлы, созданные в iTunes.