0

Я работаю над мобильным приложением, которое может выполнять базовый анализ аудиовхода с микрофона в режиме реального времени. Однако обычный способ сделать это с помощью «AVAudioRecorder», как показано в этом guide, и API, требует, чтобы вы сначала сохранили его в файле.Обработать аудио вход с мобильного микрофона без сохранения его в файл

Поскольку приложение предназначено для долгого пребывания и используется несколько раз в день, я хочу избежать помех телефону со многими аудиофайлами или аудиофайлами, которые слишком велики. Однако я не могу найти пути вокруг него. Поиск решений в Интернете всегда приводит к решениям о том, как сохранять аудио в файл, вместо того, чтобы не сохранять его в файл и работать с каким-то буфером.

Любые указатели были бы очень полезны!

ответ

1

Оба блока IOS Аудио и интерфейсы Аудио очереди позволяют обрабатывать короткие буферы ввода аудиосигнала в реальном времени без сохранения файла.

Вы также можете использовать кран на AVAudioEngine. См. Документацию от Apple: https://developer.apple.com/library/ios/samplecode/AVAEMixerSample/Introduction/Intro.html

+0

Спасибо! Теперь мы активно работаем над реализацией AudioQueue на C#! – Sushiramen

0

Вы можете использовать /dev/null как путь в экземпляре AVAudioRecorder. Таким образом, он не будет сохранен в файле, а просто отбросит данные.

var url = NSUrl.FromString("/dev/null"); 
var recorder = new AVAudioRecorder(url, settings, out error); 
+0

Mm это правда, но если мы просто отбросим данные, как только это будет записано ... тогда зачем записывать их в первую очередь? – Sushiramen

+0

Это зависит от того, что вы хотите сделать. То есть вы можете использовать это, чтобы получить среднюю мощность или максимальную мощность от микрофона. – Cheesebaron