Поделиться через


Создание графа захвата звука с помощью предварительной версии

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Граф фильтров, описанный в разделе Создание графа захвата звука , выполняет только запись без предварительного просмотра. Для одновременного просмотра и записи граф фильтра должен использовать фильтр Бесконечное закрепление тройника. Этот фильтр имеет один входной контакт и создает столько выходных контактов, сколько требуется. (Он начинается с одного выходного закрепления. Каждый раз при подключении выходного контакта создается еще один.) Фильтр Бесконечное закрепление тройника предоставляет каждый полученный образец без изменений через все выходные контакты.

Подключите фильтр аудиозаписи к бесконечному закреплению тройника, а бесконечный тройник — мультиплексору и фильтру отрисовщика DirectSound. Подключите мультиплексор к модулю записи файлов, как и раньше. На следующей схеме показан результирующий график фильтра для AVI-файла.

Граф захвата звука с предварительным просмотром

Так как отрисовщик DirectSound является отрисовщиком звука по умолчанию, можно просто вызвать метод IGraphBuilder::Render для выходного закрепления Бесконечного закрепления Tee. Диспетчер графов фильтров использует Intelligent Connect для создания отрисовщика, его добавления в граф фильтра и подключения контактов.

Примечание

Если вы записываете звук с микрофона и просматриваете его с динамиков на том же компьютере, вы можете создать аудио обратную связь.

 

Запись звука