Ios AVAssetWriter记录设置的工作方式与AVAudioRecorder不同

Ios AVAssetWriter记录设置的工作方式与AVAudioRecorder不同,ios,audio,avassetwriter,Ios,Audio,Avassetwriter,我已经成功地使用这些录音设置来创建格式化为所需格式的音频。然而,这些设置似乎只适用于AVAudioRecorder。当我用AVAssetWriter尝试它们时,我得到一个错误,指出AVLinearPCMBitDepthKey需要AVLinearPCMBitFloatKey,但当我添加它时,它表示不允许使用“ulaw”。我的问题是,为什么AVLinearPCMBitDepthKey在一台录音机中工作正常,而在另一台录音机中工作不正常 [recordSettings setObject:[NSNum

我已经成功地使用这些录音设置来创建格式化为所需格式的音频。然而,这些设置似乎只适用于AVAudioRecorder。当我用AVAssetWriter尝试它们时,我得到一个错误,指出AVLinearPCMBitDepthKey需要AVLinearPCMBitFloatKey,但当我添加它时,它表示不允许使用“ulaw”。我的问题是,为什么AVLinearPCMBitDepthKey在一台录音机中工作正常,而在另一台录音机中工作不正常

[recordSettings setObject:[NSNumber numberWithInt: kAudioFormatULaw] forKey: AVFormatIDKey];        
        [recordSettings setObject:[NSNumber numberWithFloat:8000.0] forKey: AVSampleRateKey];//was 44100.0
        [recordSettings setObject:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];
        [recordSettings setObject:[NSNumber numberWithInt:8000] forKey:AVEncoderBitRateKey];//was 64000
        [recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
        [recordSettings setObject:[NSNumber numberWithInt: AVAudioQualityLow] forKey: AVEncoderAudioQualityKey];
每个苹果支持: 因此,这就是bug——创建了文件,成功地编写了许多示例,然后由于未知原因,append开始失败

该错误似乎只发生在这些设置和AVAssetWriter中

AudioQueue应该用于ulaw audio