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


Использование GraphEdit

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

GraphEdit доступен в пакете sdk для Microsoft Windows (https://go.microsoft.com/fwlink/p/?linkid=62332).

Имя приложения GraphEdit — "graphedt.exe". После установки пакета SDK graphedt.exe находится в следующем каталоге: \Program Files (x86)\Windows Kits\10\bin\<sdk version>\x64\.

Перед запуском GraphEdit используйте служебную программу regsvr32, чтобы зарегистрировать следующие библиотеки DLL, которые находятся в том же каталоге:

  • proppage.dll
  • evrprop.dll

Эти библиотеки DLL позволяют GraphEdit отображать страницы свойств для некоторых встроенных фильтров DirectShow.

Создание графа воспроизведения файлов

GraphEdit может создать граф фильтра для воспроизведения файлов. Эта функция эквивалентна вызову метода IGraphBuilder::RenderFile в приложении. В меню Файл выберите пункт Отрисовка файла мультимедиа. GraphEdit отображает диалоговое окно Открыть файл . Выберите мультимедийный файл и нажмите кнопку Открыть. GraphEdit создает граф фильтра для воспроизведения выбранного файла.

Вы также можете отобразить файл мультимедиа, расположенный по URL-адресу. В меню Файл выберите пункт URL-адрес визуализации. GraphEdit отображает диалоговое окно для ввода URL-адреса.

Создание графа фильтров

GraphEdit может создать настраиваемый граф фильтров, используя любой из фильтров, зарегистрированных в вашей системе. В меню Граф выберите команду Вставить фильтры. Откроется диалоговое окно со списком фильтров в системе, упорядоченным по категориям фильтров. GraphEdit создает этот список на основе сведений в реестре. На следующем рисунке показано диалоговое окно.

какие фильтры нужно вставить?

Чтобы добавить фильтр в граф, выберите имя фильтра и нажмите кнопку Вставить фильтры или дважды щелкните имя фильтра. После добавления фильтров можно подключить два фильтра, перетащив мышь с выходного контакта одного фильтра на входной контакт другого фильтра. Если контакты принимают соединение, GraphEdit рисует стрелку, соединяющую их.

подключение двух фильтров

Запуск графа

После создания графа фильтра в редакторе графа можно запустить его, чтобы увидеть, работает ли он должным образом. Меню Граф содержит команды меню "Воспроизвести", "Приостановить" и "Остановить". Эти команды вызывают методы IMediaControlRun, Pause и Stop соответственно. Панель инструментов GraphEdit также содержит кнопки для следующих команд:

кнопки приостановки, воспроизведения и остановки

Примечание

Команда GraphEdit Stop сначала приостанавливает граф и выполняет поиск по нулевому времени (при условии, что граф доступен для поиска). Для воспроизведения файла это действие сбрасывает окно видео до первого кадра. Затем GraphEdit вызывает IMediaControl::Stop.

 

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

Просмотр страниц свойств

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

Примечание

Чтобы использовать встроенные страницы свойств GraphEdit, необходимо зарегистрировать proppage.dll. Эта библиотека DLL доступна в windows SDK. Библиотека DLL также содержит дополнительные страницы свойств для некоторых фильтров DirectShow. Эти страницы свойств предоставляются только для отладки.

 

Имитация построения графа с помощью GraphEdit