Как записать только последние 10 секунд аудио с помощью AVAudioRecorder? - PullRequest
0 голосов
/ 02 марта 2011

Это может быть очень простой запрос, поэтому извиняюсь, если это так.

Я использую AVAudioRecorder для записи звука с микрофона iphone. В настоящее время я сохраняю это в файл. Запись останавливается только тогда, когда пользователь нажимает кнопку, а затем воспроизводится.

У меня вопрос, как бы я получить его, чтобы аудио рекордер сохранял только последние 10 секунд звука?

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

1 Ответ

0 голосов
/ 02 марта 2011

Не используйте API AVAudioRecorder.Он не может делать то, что вы хотите.Используйте API аудио-очереди (или, возможно, аудиоустройство RemoteIO) для записи семплов в кольцевой буфер длиной 10 секунд (размер которого меньше 1 мегабайта).Затем разверните этот циклический буфер при записи сэмплов в файл .wav после заголовка файла WAVE / RIFF.

...