Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
В этом разделе перечислены события DirectShow, которые не относятся к DVD-диску. Сведения о событиях, относящихся к DVD, см. в коды уведомлений о событиях DVD.
Фильтры отправляют события диспетчеру графов фильтра, вызвав метод IMediaEventSink::Notify. Диспетчер графов фильтров обрабатывает некоторые события и очереди для приложения. Приложение извлекает их путем вызова метода IMediaEvent::GetEvent.
В следующих разделах каждая запись содержит код события, значение параметров события и действие диспетчера графов фильтров по умолчанию для события, если таковое имеется. Чтобы переопределить действие по умолчанию, вызовите IMediaEvent::CancelDefaultHandling. Коды событий определяются в файлах заголовков Evcode.h и Audevcod.h. Если по умолчанию нет действия, диспетчер графов фильтров автоматически перенаправит событие в приложение (через очередь событий).
пользовательских событий
Фильтры могут определять пользовательские события с кодами событий в диапазоне EC_USER и выше. Диспетчер графов фильтров будет размещать их непосредственно в очереди событий. Однако применяются следующие предостережения:
- Диспетчер графов фильтров не может освободить параметры события с помощью обычного метода IMediaEvent::FreeEventParams. Приложение должно освободить любое количество памяти или ссылок, связанных с параметрами события.
- Фильтр должен отправлять событие только из приложения, готового к обработке события. (Возможно, приложение может задать пользовательское свойство фильтра, чтобы указать, что это безопасно для отправки события.)
| Код уведомления о событиях | Описание |
|---|---|
| EC_ACTIVATE | Окно видео активируется или деактивируется. |
| EC_BANDWIDTHCHANGE | Не поддерживается. |
| EC_BUFFERING_DATA | Граф буферизируется или перестал буферизать данные. |
| EC_BUILT | Отправка видеоконтролем при построении графа. Не пересылается в приложения. |
| EC_CLOCK_CHANGED | Часы ссылки изменились. |
| EC_CLOCK_UNSET | Поставщик часов отключен. |
| EC_CODECAPI_EVENT | Отправляет кодировщик, чтобы сигнализировать о событии кодирования. |
| EC_COMPLETE | Все данные из определенного потока отрисованы. |
| EC_CONTENTPROPERTY_CHANGED | Не поддерживается. |
| EC_DEVICE_LOST | Устройство Plug and Play было удалено или стало доступным снова. |
| EC_DISPLAY_CHANGED | Режим отображения изменился. |
| EC_END_OF_SEGMENT | Достигнут конец сегмента. |
| EC_EOS_SOON | Не поддерживается. |
| EC_ERROR_STILLPLAYING | Не удалось выполнить асинхронную команду для запуска графа. |
| EC_ERRORABORT | Операция была прервана из-за ошибки. |
| EC_ERRORABORTEX | Операция была прервана из-за ошибки. |
| EC_EXTDEVICE_MODE_CHANGE | Не поддерживается. |
| EC_FILE_CLOSED | Исходный файл был закрыт из-за неожиданного события. |
| EC_FULLSCREEN_LOST | Отрисовщик видео переключается из полноэкранного режима. |
| EC_GRAPH_CHANGED | Диаграмма фильтров изменилась. |
| EC_LENGTH_CHANGED | Длина источника изменилась. |
| EC_LOADSTATUS | Уведомляет приложение о ходе открытия сетевого файла. |
| EC_MARKER_HIT | Не поддерживается. |
| EC_NEED_RESTART | Фильтр запрашивает перезапуск графа. |
| EC_NEW_PIN | Не поддерживается. |
| EC_NOTIFY_WINDOW | Уведомляет фильтр окна отрисовщика видео. |
| EC_OLE_EVENT | Фильтр передает текстовую строку приложению. |
| EC_OPENING_FILE | Граф открывает файл или завершает открытие файла. |
| EC_PALETTE_CHANGED | Палитра видео изменилась. |
| EC_PAUSED | Запрос приостановки завершен. |
| EC_PLEASE_REOPEN | Исходный файл изменился. |
| EC_PREPROCESS_COMPLETE | Отправляется фильтром записи WM ASF после завершения предварительной обработки для кодирования с несколькимиpassми. |
| EC_PROCESSING_LATENCY | Указывает время обработки каждого примера компонента. |
| EC_QUALITY_CHANGE | График удаляет образцы для контроля качества. |
| EC_RENDER_FINISHED | Не поддерживается. |
| EC_REPAINT | Для отрисовщика видео требуется перенарисовка. |
| EC_SAMPLE_LATENCY | Указывает, насколько далеко запланируйте компонент для обработки примеров. |
| EC_SAMPLE_NEEDED | Запрашивает новый входной образец из фильтра расширенного отрисовщика видео (EVR). |
| EC_SCRUB_TIME | Указывает метку времени для последнего шага кадра. |
| EC_SEGMENT_STARTED | Начался новый сегмент. |
| EC_SHUTTING_DOWN | Граф фильтра завершает работу до уничтожения. |
| EC_SNDDEV_IN_ERROR | Ошибка устройства произошла в фильтре записи звука. |
| EC_SNDDEV_OUT_ERROR | Ошибка устройства произошла в фильтре отрисовщика звука. |
| EC_STARVATION | Фильтр не получает достаточно данных. |
| EC_STATE_CHANGE | Граф фильтра изменил состояние. |
| EC_STATUS | Содержит две произвольные строки состояния. |
| EC_STEP_COMPLETE | Фильтр, выполняющий шаг кадра, шагнул указанное количество кадров. |
| EC_STREAM_CONTROL_STARTED | Команда запуска stream-control ввела в силу. |
| EC_STREAM_CONTROL_STOPPED | Команда остановки потока-элемента управления ввела в силу. |
| EC_STREAM_ERROR_STILLPLAYING | Ошибка произошла в потоке. Поток по-прежнему играет. |
| EC_STREAM_ERROR_STOPPED | Поток остановился из-за ошибки. |
| EC_TIMECODE_AVAILABLE | Не поддерживается. |
| EC_UNBUILT | Отправка видеоконтролем при удалении графа. Не пересылается в приложения. |
| EC_USERABORT | Пользователь завершил воспроизведение. |
| EC_VIDEO_SIZE_CHANGED | Изменен размер видео в собственном коде. |
| EC_VIDEOFRAMEREADY | Видеокадр готов к отображению. |
| EC_VMR_RECONNECTION_FAILED | Отправляется VMR-7 и VMR-9, когда не удалось принять динамический запрос на изменение формата из вышестоящего декодера. |
| EC_VMR_RENDERDEVICE_SET | Отправляется, когда vmR выбрал свой механизм отрисовки. |
| EC_VMR_SURFACE_FLIPPED | Отправляется, когда ведущий распределителя VMR-7 вызвал метод DirectDraw Flip на поверхности. |
| EC_WINDOW_DESTROYED | Отрисовщик видео был уничтожен или удален из графа. |
| EC_WMT_EVENT | Отправляемый фильтром средства чтения WM ASF при чтении ФАЙЛОВ ASF, защищенных функцией управления цифровыми правами (DRM). |
| EC_WMT_INDEX_EVENT | Отправляется, когда приложение использует модуль записи WM ASF для индексирования видеофайлов Windows Media. |
Связанные разделы
-
уведомление о событиях в DirectShow