IOS13 AVAudioRecorder не относится к установке AVLinearPCMBitDepthKey (16) - PullRequest
0 голосов
/ 27 сентября 2019

Я использую 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 после записи.

Я буду очень признателен за любую помощь.

...