Написание avaudiopcmbuffer в Avaudiofile сжатыйIOS

Программируем под IOS
Ответить
Anonymous
 Написание avaudiopcmbuffer в Avaudiofile сжатый

Сообщение Anonymous »

Мы работаем над приложением, которое записывает и сохраняет вход микрофона. Использование avaudiorecorder < /code> не было вариантом, потому что необходима обработка звука в реальном времени. < /P>

AVAudioEngine< /code> используется, потому что он обеспечивает низкоуровневый доступ к вводу аудио. < /p>

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])
})
< /code>

Наша проблема заключается в том, что запись довольно большая. Для 5 -часовой записи выходной аудиофайл составляет 1,2 ГБ с .caf < /code> Format. < /P>

let audioFile = AVAudioFile(forWriting: recordingPath, settings: [:], commonFormat: .pcmFormatFloat32, interleaved: isInterleaved)
< /code>

Есть ли хороший способ сжатия аудиофайла на него? Мы будем использовать avaudiomixernode для погружения в вход до 20 кГц (более низкое качество приемлемо в нашем случае), но размер выхода не будет приемлемым по размеру. < /P>

Запись содержит большие сегменты фонового шума.>

Подробнее здесь: https://stackoverflow.com/questions/521 ... compressed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»