AVAudioRecorder设置未对输出文件生效

时间:2014-03-26 02:07:22

标签: ios iphone objective-c avaudiorecorder

我正在使用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.我是否错过了这些设置的内容?

1 个答案:

答案 0 :(得分:3)

问题在于并非每个设置都是合法的,非法设置会无声地失败。所以在这种情况下,16的比特率太低了。从某种意义上说,这个系统对你有利;而不是barfing,它正在进行录制,但它取代了你给出的合法设置。