我正在使用AVAudioRecorder使用以下设置录制并保存到audio.m4a文件:
NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue:[NSNumber numberWithInt:AVAudioQualityMin] forKey:AVEncoderAudioQualityKey];
[recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithInt:16] forKey:AVEncoderBitRateKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey];
[recordSetting setValue:[NSNumber numberWithInt:8] forKey:AVLinearPCMBitDepthKey];
但是当我使用软件读取audio.m4a文件的属性时,我得到了这些:
比特率:64KBps
频道:2
所以这意味着上面的那些设置不会影响输出文件,因为很明显,我将其比特率设置为16并将通道设置为1.我是否错过了这些设置的内容?
答案 0 :(得分:3)
问题在于并非每个设置都是合法的,非法设置会无声地失败。所以在这种情况下,16的比特率太低了。从某种意义上说,这个系统对你有利;而不是barfing,它正在进行录制,但它取代了你给出的合法设置。