我已经在两台不同的 iPad3 上对此进行了测试,其中一台我可以录制和播放 .m4a 和 .caf 文件,另一台我只能播放 .caf 文件。
我所做的是使用设置记录一个 .m4a 文件
AVFormatIDKey set to kAudioFormatMPEG4AAC
在一台 iPad 上运行良好。如果我在另一台 iPad 上测试它,当我尝试播放录制的文件时会收到错误“OSStatus 错误 1685348671”。
但是,如果我注释掉该设置并记录为 .caf 文件,它可以完美运行。
这里是相关的代码片段:
NSDictionary *recorderSettings = [NSDictionary dictionaryWithObjectsAndKeys:
//[NSNumber numberWithInt:kAudioFormatMPEG4AAC], AVFormatIDKey,
[NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16], AVEncoderBitRateKey,
[NSNumber numberWithInt:1], AVNumberOfChannelsKey,
[NSNumber numberWithFloat:16000.0], AVSampleRateKey, nil];
然后我去打电话给一个简单的
AudioRecorder *audioRecorder = [[AVAudioRecorder alloc] initWithURL:soundFileURL settings:recorderSettings error:&error];
回放我打电话
AudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:&error];
[audioPlayer play];
谢谢