cocoa - AVAudioRecorder doesn't record on OS X Mavericks -


in cocoa application try record voice internal mic. using avaudiorecorder class purpose. in code below setup avaudiorecorder instance.

- (void)setupaudiorecorder {      nsmutabledictionary *recordsettings = [nsmutabledictionary dictionary];      recordsettings[avformatidkey] = @(kaudioformatlinearpcm);     recordsettings[avsampleratekey] = @(16000.0);     recordsettings[avnumberofchannelskey] = @(1);     recordsettings[avlinearpcmbitdepthkey] = @(16);     recordsettings[avlinearpcmisbigendiankey] = @(no);     recordsettings[avlinearpcmisfloatkey] = @(no);      recordsettings[avencoderbitratestrategykey] = avaudiobitratestrategy_variable;     recordsettings[avencoderaudioqualityforvbrkey] = @(avaudioqualitymedium);     recordsettings[avsamplerateconverteralgorithmkey] = avsamplerateconverteralgorithm_mastering;      recordsettings[avsamplerateconverteraudioqualitykey] = @(avaudioqualitymedium);      nsstring *file = [[nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask, yes)                    objectatindex:0]                   stringbyappendingpathcomponent:@".recorder_voice.caf"];      nsfilemanager *fm = [nsfilemanager defaultmanager];      if ([fm fileexistsatpath:file])         [fm removeitematpath:file error:nil];      nsurl *url = [nsurl fileurlwithpath:file];     nserror *err = nil;      self.recorder.delegate = nil;         self.recorder = [[avaudiorecorder alloc] initwithurl:url                                             settings:recordsettings                                                error:&err];     if(!self.recorder){     // show error     }      [self.recorder setdelegate:self];     [self.recorder preparetorecord];      self.recorder.meteringenabled = yes; } 

on yosemite works fine on mavericks i've got silence. system logs show error when execute [self.recorder preparetorecord]; :

aqmeio.cpp:377 _findiounit: error -66680.

what mean , how can fix it?

finally i've found answer. reason in sandbox project setting. didn't check microphone box in target -> capabilities -> app sanbox. yosemite ignore issue maverics not.


Comments