Запись звука с использованием C ++ и ASIO SDK

Я пытался написать простой аудио-рекордер, используя C ++ и ASIO SDK (основываясь на прилагаемом к нему образце хоста). Пока что я могу получать входные данные от каналов, обрабатывать их и пересылать на выходные каналы.

Теперь мне интересно, как мне перенаправить ввод в файл. Моя теоретическая идея состоит в том, чтобы использовать какой-то буфер для хранения данных с входов, а затем, когда они заполнятся, передать их в модуль, который сохранит их в файл. Конечно, когда начинается процесс записи, я хотел бы динамически создавать другой буфер (или даже больше одного) для непрерывного хранения входных данных. Затем, когда данные из первого буфера будут полностью записаны в файл, нужно переключить буферы (один из записываемых ранее будет получателем входного сигнала, а другой, хранящий вход, будет сохранен. в файл).

Честно говоря, я не знаю, как реализовать эту часть программы на практике. Я не уверен, какой должен быть оптимальный размер буфера, чтобы не потерять какие-либо данные. Кроме того, я понятия не имею, как данные из 2 входных каналов должны храниться в одном буфере (я должен использовать 2 из них вместо этого?). Есть ли примеры такого рекордера? Я искал в интернете, но не нашел ничего полезного.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]