У меня возник вопрос о синхронизации двух потоков Directsound.Синхронизация потоков Directsound
Для записи и воспроизведения звука в настоящее время я использую Portaudio для открытия 2 потоков Directsound. Существует 2 функции обратного вызова, которые вызывается каждый раз, когда входной буфер заполняется, а выходной буфер нуждается в данных.
Сейчас здесь `s моя проблема ...
Входной поток работает на 48кГц сэмплов (@ 1024 образцов). Выходной поток работает на частоте 192 кГц (@ 4096 выборок). Каждый раз, когда входной буфер заполняется и вызывается обратный вызов, я делаю некоторый DSP, и после этого я преобразовываю результат в 192 кГц. Выходной поток принимает результат и выводит данные. Теперь 2 потока полностью отключены от синхронизации.
Я просмотрел весь API Portaudio, но я не могу найти опцию синхронизации, чтобы заблокировать 2 потока вместе.
Есть ли способ заблокировать 2 потока Directsound? Мне действительно нужен вход 48 кГц и выход 192 кГц.
Вr,
Винсент Bruinink.
Вы можете * иметь лучшую удачу с некоторым API, отличным от directsound. –
Понятно, но Directsound и ASIO - единственные, которые поддерживают частоту 192 кГц. ASIO может открывать только один поток мгновенно. –