Я использую AVAudioRecorder для записи голоса и выполняю настройку, как показано ниже:
- (NSMutableDictionary *)recordSetting {
NSMutableDictionary *recSetting = [[NSMutableDictionary alloc] init];
// General Audio Format Settings
recSetting[AVFormatIDKey] = @(kAudioFormatLinearPCM);
recSetting[AVSampleRateKey] = @16000;
recSetting[AVNumberOfChannelsKey] = @1;
// Linear PCM Format Settings
recSetting[AVLinearPCMBitDepthKey] = @16;
recSetting[AVLinearPCMIsBigEndianKey] = @YES;
recSetting[AVLinearPCMIsFloatKey] = @YES;
// Encoder Settings
recSetting[AVEncoderAudioQualityKey] = @(AVAudioQualityMedium);
recSetting[AVEncoderBitRateKey] = @128000;
return recSetting;
}
В iOS12 работает нормально, я могу записать 16-битный файл wav.После обновления iOS12 до iOS13 я могу записывать только 32-битный файл, даже если я ничего не меняю, но при этом установить AVLinearPCMBitDepthKey на 16. Таким образом, кажется, что AVLinearPCMBitDepthKey не применяется.
Может ли какой-либо эксперт поддержать какое-либо решение или обходной путь?Мне все еще нужен 16-битный файл WAV после записи.
Я буду очень признателен за любую помощь.