AVAudioRecorder:iOS9上iPad4的音频录制设置
我正在使用的一个应用程序录制音频,在从iOS8更新到iOS9后,它开始无法在iPad4上录制 目前使用的记录器设置包括:AVAudioRecorder:iOS9上iPad4的音频录制设置,ios,ios9,avaudiorecorder,Ios,Ios9,Avaudiorecorder,我正在使用的一个应用程序录制音频,在从iOS8更新到iOS9后,它开始无法在iPad4上录制 目前使用的记录器设置包括: audioSegmentURL = ... (a URL with fileextension @"mp4"); recorderSettings = @{ AVFormatIDKey: @(kAudioFormatMPEG4AAC), AVEncoderAudioQualityKey: @(AVAudioQ
audioSegmentURL = ... (a URL with fileextension @"mp4");
recorderSettings = @{ AVFormatIDKey: @(kAudioFormatMPEG4AAC),
AVEncoderAudioQualityKey: @(AVAudioQualityMin),
AVEncoderBitRateKey: @(8),
AVNumberOfChannelsKey: @(1),
AVSampleRateKey: @(11025.0)
};
这是音频录像机的初始化:
NSError *err;
AVAudioRecorder *audioRecorder = [[AVAudioRecorder alloc] initWithURL:audioSegmentURL settings:recorderSettings error:&err];
此调用似乎成功,err
为nil
调用prepareToRecord
返回NO
:
BOOL res = [audioRecorder prepareToRecord];
不幸的是,我没有iPad4。iPad Mini2上不会出现此问题。(我也有一个iPad Air,但它不支持AAC硬件编码,并且使用不同的录制设置。)
这在iOS8上起作用。将iPad4升级到iOS9后,它开始失败
有人知道哪些设置在iOS9的iPad4上有效吗
非常感谢
EDIT1:
对于测试,我让音频录制在iPad4上使用:
audioSegmentURL = ... (a URL with fileextension @"caf");
recorderSettings = @{ AVFormatIDKey: @(kAudioFormatAppleIMA4),
AVNumberOfChannelsKey: @(1),
AVSampleRateKey: @(16000.0)
};
录音似乎起作用了。然而,在录制之后,我将几个声音片段附加在一起,这在iPad4上似乎失败了
合成使用具有多个AVMutableCompositionTrack
s的AVMutableComposition
,一个avassetextortsession
,输出文件类型设置为AVFileTypeAppleM4A
M4A
是否与iOS9 iPad4上的IMA4
不兼容?您的比特率在第一个录制设置字典中看起来不正确。尝试删除AvencoderBaritate键。我不知道这是否重要,但对于仅包含音频的文件,您可能需要以m4a而不是mp4结尾的文件名。您的比特率在第一个录制设置字典中看起来不正确。尝试删除AvencoderBaritate键。我不知道这是否重要,但对于仅包含音频的文件,您可能希望文件名以m4a结尾,而不是以mp4结尾。谢谢您的提示-删除比特率时,事情看起来更有希望。我以前也尝试过M4A,但这会导致后续处理步骤出现问题。如果多个问题相互影响,我需要一个接一个地解决,我不会感到惊讶。测试表明,自iOS9以来,比特率键确实造成了问题。删除坏值使其工作。感谢您的提示-删除比特率时,事情看起来更有希望。我以前也尝试过M4A,但这会导致后续处理步骤出现问题。如果多个问题相互影响,我需要一个接一个地解决,我不会感到惊讶。测试表明,自iOS9以来,比特率键确实造成了问题。删除坏值使其正常工作。