导致这个错误的原因比较多,大致是文件格式 ,文件完整性, 文件的码率等因素。
文件的完整性,一个解决方案是,根据 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的人,则不会遇到这个错误。
本文探讨了MP3文件在播放过程中可能遇到的问题及其原因,包括文件格式、完整性和码率等因素。文中提供了两种检查文件完整性的方法:一种是通过自定义解析进行检查,另一种是利用AVAudioPlayer内置的完整性验证功能。
2662

被折叠的 条评论
为什么被折叠?



