Я хочу играть песню, используя AVAudioPlayer. Но это не работает некоторое время. Я не понял, в чем проблема. Я использую этот ниже код для воспроизведения mp3-файла из локального.Не воспроизводит mp3-файл, используя AVAudioPlayer
NSString *soundFile;
soundFile = [[NSBundle mainBundle] pathForResource:@"notification_sound" ofType:@"mp3"];
NSURL *fileURL = [NSURL fileURLWithPath:soundFile];
NSError *error=nil;
self.playerAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&error];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];
[[AVAudioSession sharedInstance] setActive: YES error: &error];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self.playerAudio setDelegate:self];
NSLog(@"Error:%@",error);
self.playerAudio.numberOfLoops = -1;
self.playerAudio.volume=1;
if([self.playerAudio prepareToPlay])
{
NSLog(@"Prepare to play successfully");
[self.playerAudio play];
}
if([self.playerAudio prepareToPlay])
это условие не будет удовлетворено, почему это произошло, пожалуйста, помогите мне решить этот вопрос.
Я получил эту ошибку ниже: Error:Error Domain=NSOSStatusErrorDomain Code=560557684 "The operation couldn’t be completed. (OSStatus error 560557684.)"
Заранее спасибо
Попробуйте использовать все эти 'параметров error' вас устанавливая значение «nil» и проверяя соответствующие возвращаемые значения этих методов. – rmaddy
Зачем вам нужно проверить [self.playerAudio prepareToPlay]? Не можете ли вы удалить это условие? – Gati
Можете ли вы попробовать добавить 'NSError * activationError = nil;' to' self.playerAudio = [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: & activationError]; 'и' [[AVAudioSession sharedInstance] setActive: YES error: & activationError]; 'check Ошибка ? –