Я пишу программу для Windows Store на C ++, которая воспроизводит микрофон. Я должен изменить биты, прежде чем отправить это на динамики. Во-первых, я хотел воспроизвести микрофон без какого-либо эффекта, он немного отстает. Частота и скорость передачи одинаковы (24 бита, 192000 Гц), но я также пробовал (24 бита, 96000 Гц). Я отладил его, и кажется, что динамик быстрее, поэтому он должен ждать данных от микрофона, как пищалки, работающие на более высокой частоте, но в соответствии с настройками это не так. У кого-нибудь есть хоть какие-то идеи, в чем здесь проблема?
Когда вы говорите, что есть некоторая «задержка», вы имеете в виду, что есть некоторая задержка между подачей данных на устройство захвата звука и моментом воспроизведения устройством воспроизведения или вы имеете в виду, что аудиопоток «прерывается» небольшие паузы между каждым образцом?
Если есть задержка воспроизведения, я бы посмотрел, с каким значением задержки вы инициализировали клиент захвата аудио.
Если есть небольшие паузы, то я бы порекомендовал вам использовать двойную буферизацию выборочных данных, чтобы один буфер рендерился, а другой повторно выбирался с устройства захвата звука.
Других решений пока нет …