AVAudioPlayer 的 Error Domain=NSOSStatusErrorDomain Code=-10875 "未能完成操作。(“OSStatus”错误 -10875。)"

今天在做一个项目,因为要播放一个音频,就选择用 AVAudioPlayer来来做,因为以前用过,也没有注意太多后来就直接写,但是写好之后运行看效果,怎么也播放不出来,本来是因为本地音频文件有问题,后来重新找一个文件然后在播放,还是出现同样的问题.

用这段代码,以前是正常的,现在就不可以了,(网上还有好多开发人员用该方式是没有问题)

- (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;

self.playerMusic =
[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&error];

[self.playerMusic
prepareToPlay];

[self.playerMusic
play];

NSLog(@"error loading %@",error);

}

}

后来打印 error : Error Domain=NSOSStatusErrorDomain Code=-10875 "未能完成操作。(“OSStatus”错误 -10875。)"

后再在往常差有的说,需要加入以下代码:

AVAudioSession *session = [AVAudioSession sharedInstance];

[session setCategory:AVAudioSessionCategoryPlayback error:nil];

[session setActive:YES error:nil];

如果不添加会没有声音.但是加入了还是解决不了问题,

后来看官方文档,说建议用   [[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);

}

}

结果使用问题解决,希望能帮助你们,自己也留作问题解决.

时间: 2024-08-23 17:15:32

AVAudioPlayer 的 Error Domain=NSOSStatusErrorDomain Code=-10875 "未能完成操作。(“OSStatus”错误 -10875。)"的相关文章

AVAudioplayer时error解决 创建失败 ERror creating player: Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"

AVAudioplayer 有两个初始化方法: 1.[[AVAudioPlayer alloc] initWithData:musicData error&e]; 2.[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&error]; 第一种是使用将音频文件的data文件初始化,但是data必须是一个完整的文件. 第二种是从url获取,但是这里的url是本地的file URL. 所以AVAudioplayer无法直接从网络

ios奇葩问题 Error Domain=NSURLErrorDomain Code=-1003

问题描述: 新上线的产品,ios同事拿着一串报错来找我,日志如下:err =Error Domain=NSURLErrorDomain Code=-1003 "未能找到使用指定主机名的服务器.",接口中请求的域名为app.xxx.com(xxx.com隐藏). 安卓手机,自带网络,访问域名app.xxx.com正常 安卓手机,Wifi网络,访问域名app.xxx.com正常 电脑,访问域名app.xxx.com正常 ios手机,Wifi网络,访问域名app.xxx.com正常 ios手

Error Domain=ASIHTTPRequestErrorDomain Code=8 "Failed to move file from"xxx/xxx"to"xxx/xxx"

今天真的好高兴呀 我解决了一个折磨了我一周的问题,真的是激动地要哭出来了,为了这个问题,我嘴也烂了,头发抓了一地啊.虽然解决方法,最后还是展现出了“百度”的伟大,但是我还是很开心,在这里我展示一下我的战果 问题的表面就是在2G下下载zip包失败,不是每次都失败,而是只要我离开当前页面再次进入当前页面就会失败(进入requestFail),如果只是离开不进入,那么一起正常. 多么诡异呀,起初我也想通过看看进入页面后是不是进行了什么卑鄙的操作,而导致ASI罢工,可是最后我放弃了,因为任何有关ASI的

Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字符串" UserInfo=0x17426e940 {NS

注册远程通知是报错 Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的"aps-environment"的授权字符串" UserInfo=0x17426e940 {NSLocalizedDescription=未找到应用程序的"aps-environment"的授权字符串} 1. 在X-code中更新证书: Xcode > Preferences > Accounts > pi

error = Error Domain=NSCocoaErrorDomain Code=3840

json解析,同样的请求,有一个请求,无反应.纠结了几天,终于解决了. error = Error Domain=NSCocoaErrorDomain Code=3840 "Unescaped control character around character 168." UserInfo={NSDebugDescription=Unescaped control character around character 168.} 报错信息如上: 这个原因,是因为服务器返回的字符串里面

Error Domain=NSURLErrorDomain Code=-999错误

有时候遇到这个错误:Error Domain=NSURLErrorDomain Code=-999 "The operation couldn't be completed. 这里有一个解释:王正东博客 | Error Domain=NSURLErrorDomain Code=-999 "The operation couldn't be completed. - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSEr

UIWebView Error Domain=NSURLErrorDomain Code=-999 "

Error Domain=NSURLErrorDomain Code=-999 "The operation couldn't be completed. - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { //一个页面没有被完全加载之前收到下一个请求,此时迅速会出现此error,error=-999  //此时可能已经加载完成,则忽略此error,继续进行加载. //http://stacko

真机调试报错error ==Error Domain=NSURLErrorDomain Code=-1009 "似乎已断开与互联网的连接。"

真机调试报错error ==Error Domain=NSURLErrorDomain Code=-1009 "似乎已断开与互联网的连接." 请注意,错误代码是-1009,网上关于网络链接查询错误代码的网站很多,查询一下,会发现 -1009 kCFURLErrorNotConnectedToInternet NSURLErrorNotConnectedToInternet "The connection failed because the device is not con

关于https的Error:Error Domain=NSURLErrorDomain Code=-1012

昨天闲着没事就随便搞点demo,随便找了一个https的接口,运行之后,一直发现Error Domain=NSURLErrorDomain Code=-1012.好奇怪,请求https的配置我基本都配置了.  allow   也设置了    display name 也设置 了.但是还是一直 报这个错误.  上网查了一下资料,修改了一些东西   后来可以了.