#audiokit
#audiokit
Вопрос:
У меня есть монофонический аудиофайл. Который я открываю и пытаюсь применить усиление с помощью следующего кода:
let inputFile = try! AVAudioFile(forReading: url)
let settings = inputFile.fileFormat.settings
let outputFile = try! AVAudioFile(forWriting: outputURL, settings: settings)
let sourceBuffer = try! AVAudioPCMBuffer(file: inputFile)
let engine = AudioEngine()
let player = AudioPlayer()
let compressor = Compressor(player)
compressor.masterGain = AUValue(gain)
engine.output = compressor
compressor.start()
do {
try engine.start()
player.start()
player.scheduleBuffer(sourceBuffer!, at: nil, options: [], completionHandler: nil)
try engine.renderToFile(outputFile, duration: inputFile.duration)
} catch {
completion(.failure(error))
}
player.scheduleBuffer
сбой со следующим исключением:
*** Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'required condition is false: _outputFormat.channelCount == buffer.format.channelCount'
terminating with uncaught exception of type NSException
Но как мне установить правильное количество каналов?
Я уже пробовал Settings.audioFormat = inputFile.fileFormat
или Settings.audioFormat = sourceBuffer!.format
перед инициализацией AudioEngine
. Те же результаты.
Я ценю любую помощь. Спасибо.