iOS 奇葩问题(持续更新)

iOS开发中总会遇到一些非常奇葩的问题,这里记录下来,分享给大家。

1、AVAudioPlayer的NSOSStatusErrorDomain Code=1685348671错误。

现象描述:
很久之前的代码了,之前一直使用AVAudioPlayer播放本地音频。通过音频路径创建AVAudioPlayer。

NSError *error;
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&error];

在这之前一直是没有任何问题,突然有一天一个音频无法播放,其他音频都可以,就这一个音频不行。断点调试了一下,发现AVAudioPlayer创建失败,报的就是NSOSStatusErrorDomain Code=1685348671错误。

解决方案:
直接将音频路径创建AVAudioPlayer改成data创建AVAudioPlayer就可以了。

NSError *error;
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:[NSData dataWithContentsOfFile:path] error:&error];

分析:
百度了一下,看到有人说是因为音频解码出的音频格式和播放格式不符导致的出错。但为什么通过路径initWithContentsOfURL创建失败,但通过data创建成功,搞不明白。

你可能感兴趣的:(iOS 奇葩问题(持续更新))