AVAssetWriter记录设置不像AVAudioRecorder那样工作

时间:2012-06-25 14:36:31

标签: ios audio avassetwriter

我已成功使用这些录制设置来创建格式化为所需格式的音频。但是这些设置似乎只适用于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];

1 个答案:

答案 0 :(得分:0)

Per Apple支持:  这就是错误 - 文件被创建,一些样本被成功写入然后追加开始失败,原因不明。

这些设置和AVAssetWriter

似乎只会出现这个错误

AudioQueue应该用于ulaw音频