Установите уровень аудиовхода с помощью portaudio
Я имею дело с устаревшим кодом, который использует portaudio в Windows. Код захватывает звук с настольного микрофона и имеет возможность настроить громкость ввода. Он отлично работал под Windows XP, но настройка уровня входного аудиосигнала нарушена под Windows 7, изменение параметра не влияет на выходной аудиопоток. Выполните следующие действия, чтобы настроить громкость
mp_mixer = Px_OpenMixer(mp_inputStream, m_dev_num);
if(mp_mixer) Px_SetInputVolume(mp_mixer, m_volume);
Я обнаружил, что базовые функции winmme не работают в Windows Vista и новее. Я обновил до последней версии portaudio pa_stable_v19_20140130, в которой функции микшера больше не доступны. Я не могу найти альтернативный способ регулировки громкости входного сигнала в portound, есть ли?
1 ответ
Я думаю, что вам придется использовать API Audio Endpoint Device. http://msdn.microsoft.com/en-us/library/windows/desktop/dd370793(v=vs.85).aspx
Как вы сказали, API микшера WMME больше не поддерживается.
API не так уж плох. Просто убедитесь, что вы используете индекс устройства portaudio API для идентификации устройства в API микшера.