Код: Выделить всё
AVAudioEngineКод: Выделить всё
let audioEngine = AVAudioEngine()
let inputNode = audioEngine.inputNode
let inputFormat = inputNode.inputFormat(forBus: 0)
inputNode.installTap(onBus: 0, bufferSize: AVAudioFrameCount(inputFormat.sampleRate * sampleInterval), format: inputFormat) { (buffer: AVAudioPCMBuffer, time: AVAudioTime) -> Void in
// sound preprocessing
// writing to audio file
audioFile.write(buffer.floatChannelData![0])
})
Код: Выделить всё
let audioFile = AVAudioFile(forWriting: recordingPath, settings: [:], commonFormat: .pcmFormatFloat32, interleaved: isInterleaved)
Частота дискретизации по умолчанию — 44100 Гц . Мы будем использовать AVAudioMixerNode для понижения входной частоты до 20 кГц (в нашем случае приемлемо более низкое качество), но размер выходного сигнала будет неприемлемым.
Запись содержит большие фрагменты фонового шума.
Есть предложения?
Подробнее здесь: https://stackoverflow.com/questions/521 ... compressed
Мобильная версия