NSOSStatusErrorDomain error -42
ios待机的时候,收到信号就播放一次音频,长时间过后会出现错误不能播放音频。搜了一下资料(参考:https://blog.csdn.net/capacity_bo/article/details/44943005)
需要用
[[AVAudioPlayer alloc] initWithData:data error:&error];
替代
[[AVAudioPlayer alloc]initWithContentsOfURL:fileURL error:&error];
这样修改后就没有问题了。
- (void)playRuningDistance:(TrainingPlayAudioType)playType{
NSString *playFileName = [NSString stringWithFormat:@"distance%d",playType];
NSString *filepath = [[NSBundle mainBundle] pathForResource:playFileName ofType:@"mp3"];
BOOL fileexit = [[NSFileManager defaultManager] fileExistsAtPath:filepath];
NSLog(@"本地问价 %d",fileexit);
if (fileexit) {
if (self.playerMusic && [self.playerMusic isPlaying]) {
return;
}
NSError *error;
self.playerMusic = nil;
NSData *data = [[NSFileManager defaultManager] contentsAtPath:filepath];
self.playerMusic = [[AVAudioPlayer alloc] initWithData:data error:&error];
[self.playerMusic prepareToPlay];
[self.playerMusic play];
NSLog(@"error loading %@",error);
}
}