iOS AVAudioPlayer 加载mp3 失败 错误: “OSStatus error 1954115647”

   


导致这个错误的原因比较多,大致是文件格式 ,文件完整性, 文件的码率等因素。


文件的完整性,一个解决方案是,根据 mp3文件格式自己去解析 做完整性检查 。 另一个偷懒的办法是让AVAudioPlayer自己去检查。

方法1

NSString mp3 = [NSTemporaryDirectory() stringByAppendingPathComponent:@"test.mp3"];

NSData *data = [NSData dataWithContentsOfFile: mp3];

[[AVAudioPlayer alloc] initWithData:data error:&errr];


方法2

NSString mp3 = [NSTemporaryDirectory() stringByAppendingPathComponent:@"test.mp3"];

[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:mp3] error:&errr];


方法1 中AVAudioPlayer不会对文件完整性做检查 ,而方法2 而会,所以习惯用方法2的人,则不会遇到这个错误。

你可能感兴趣的:(iOS)