Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
W tych sekcjach wymieniono zdarzenia DirectShow, które nie są specyficzne dla dysku DVD. Aby uzyskać informacje o zdarzeniach specyficznych dla dysku DVD, zobacz kody powiadomień o zdarzeniach DVD.
Filtry wysyłają zdarzenia do Menedżera programu Graph filtru, wywołując metodę IMediaEventSink::Notify. Menedżer filtrów programu Graph obsługuje niektóre zdarzenia i kolejkuje inne dla aplikacji. Aplikacja pobiera je, wywołując metodę IMediaEvent::GetEvent.
W poniższych sekcjach każda pozycja zawiera listę kodu zdarzenia, znaczenie parametrów zdarzenia oraz domyślną akcję Filtruj menedżera programu Graph dla zdarzenia, jeśli istnieje. Aby zastąpić akcję domyślną, wywołaj metodę IMediaEvent::CancelDefaultHandling. Kody zdarzeń są definiowane w plikach nagłówkowych Evcode.h i Audevcod.h. Jeśli nie ma akcji domyślnej, Menedżer filtru programu Graph automatycznie przekazuje zdarzenie do aplikacji (za pośrednictwem kolejki zdarzeń).
zdarzenia niestandardowe
Filtry mogą definiować zdarzenia niestandardowe z kodami zdarzeń w zakresie EC_USER i nowszym. Menedżer filtru programu Graph umieści je bezpośrednio w kolejce zdarzeń. Obowiązują jednak następujące zastrzeżenia:
- Menedżer programu Filter Graph nie może zwolnić parametrów zdarzeń przy użyciu normalnej metody IMediaEvent::FreeEventParams. Aplikacja musi zwolnić dowolną pamięć lub liczbę odwołań skojarzonych z parametrami zdarzenia.
- Filtr powinien wysyłać zdarzenie tylko z poziomu aplikacji przygotowanej do obsługi zdarzenia. (Prawdopodobnie aplikacja może ustawić właściwość niestandardową filtru, aby wskazać, że można bezpiecznie wysłać zdarzenie).
| Kod powiadomienia o zdarzeniach | Opis |
|---|---|
| EC_ACTIVATE | Okno wideo jest aktywowane lub dezaktywowane. |
| EC_BANDWIDTHCHANGE | Nieobsługiwane. |
| EC_BUFFERING_DATA | Wykres buforuje dane lub zatrzymał buforowanie danych. |
| EC_BUILT | Wyślij przez kontrolkę wideo, gdy graf został skompilowany. Nie są przekazywane do aplikacji. |
| EC_CLOCK_CHANGED | Zegar odniesienia zmienił się. |
| EC_CLOCK_UNSET | Dostawca zegara został odłączony. |
| EC_CODECAPI_EVENT | Wysłane przez koder w celu zasygnalizowania zdarzenia kodowania. |
| EC_COMPLETE | Wszystkie dane z określonego strumienia zostały renderowane. |
| EC_CONTENTPROPERTY_CHANGED | Nieobsługiwane. |
| EC_DEVICE_LOST | Urządzenie Plug and Play zostało usunięte lub zostało ponownie udostępnione. |
| EC_DISPLAY_CHANGED | Tryb wyświetlania został zmieniony. |
| EC_END_OF_SEGMENT | Osiągnięto koniec segmentu. |
| EC_EOS_SOON | Nieobsługiwane. |
| EC_ERROR_STILLPLAYING | Nie można uruchomić grafu za pomocą polecenia asynchronicznego. |
| EC_ERRORABORT | Operacja została przerwana z powodu błędu. |
| EC_ERRORABORTEX | Operacja została przerwana z powodu błędu. |
| EC_EXTDEVICE_MODE_CHANGE | Nieobsługiwane. |
| EC_FILE_CLOSED | Plik źródłowy został zamknięty z powodu nieoczekiwanego zdarzenia. |
| EC_FULLSCREEN_LOST | Program renderowania wideo wyłącza tryb pełnoekranowy. |
| EC_GRAPH_CHANGED | Wykres filtru został zmieniony. |
| EC_LENGTH_CHANGED | Długość źródła uległa zmianie. |
| EC_LOADSTATUS | Powiadamia aplikację o postępie podczas otwierania pliku sieciowego. |
| EC_MARKER_HIT | Nieobsługiwane. |
| EC_NEED_RESTART | Filtr żąda ponownego uruchomienia grafu. |
| EC_NEW_PIN | Nieobsługiwane. |
| EC_NOTIFY_WINDOW | Powiadamia filtr okna programu renderowania wideo. |
| EC_OLE_EVENT | Filtr przekazuje ciąg tekstowy do aplikacji. |
| EC_OPENING_FILE | Graf otwiera plik lub kończy otwieranie pliku. |
| EC_PALETTE_CHANGED | Paleta wideo uległa zmianie. |
| EC_PAUSED | Żądanie wstrzymania zostało ukończone. |
| EC_PLEASE_REOPEN | Plik źródłowy został zmieniony. |
| EC_PREPROCESS_COMPLETE | Wysłane przez moduł zapisywania asf WM filtr po zakończeniu przetwarzania wstępnego na potrzeby kodowania multipass. |
| EC_PROCESSING_LATENCY | Wskazuje ilość czasu, przez który składnik przetwarza poszczególne próbki. |
| EC_QUALITY_CHANGE | Wykres upuszcza próbki na potrzeby kontroli jakości. |
| EC_RENDER_FINISHED | Nieobsługiwane. |
| EC_REPAINT | Program renderowany wideo wymaga przemalować. |
| EC_SAMPLE_LATENCY | Określa, jak daleko za harmonogramem jest składnik do przetwarzania przykładów. |
| EC_SAMPLE_NEEDED | Żąda nowego przykładu danych wejściowych z filtru Enhanced Video Renderer (EVR). |
| EC_SCRUB_TIME | Określa sygnaturę czasową ostatniego kroku ramki. |
| EC_SEGMENT_STARTED | Rozpoczęto nowy segment. |
| EC_SHUTTING_DOWN | Wykres filtru jest zamykany przed zniszczeniem. |
| EC_SNDDEV_IN_ERROR | Wystąpił błąd urządzenia w filtrze przechwytywania dźwięku. |
| EC_SNDDEV_OUT_ERROR | Wystąpił błąd urządzenia w filtrze modułu renderowania audio. |
| EC_STARVATION | Filtr nie odbiera wystarczającej ilości danych. |
| EC_STATE_CHANGE | Wykres filtru zmienił stan. |
| EC_STATUS | Zawiera dwa dowolne ciągi stanu. |
| EC_STEP_COMPLETE | Filtr wykonujący kroki ramki przekroczył określoną liczbę ramek. |
| EC_STREAM_CONTROL_STARTED | Uruchomiono polecenie uruchamiania kontrolki strumienia. |
| EC_STREAM_CONTROL_STOPPED | Polecenie zatrzymania sterowania strumieniem zostało zastosowane. |
| EC_STREAM_ERROR_STILLPLAYING | Wystąpił błąd w strumieniu. Strumień jest nadal odtwarzany. |
| EC_STREAM_ERROR_STOPPED | Strumień został zatrzymany z powodu błędu. |
| EC_TIMECODE_AVAILABLE | Nieobsługiwane. |
| EC_UNBUILT | Wyślij przez kontrolkę wideo, gdy wykres został zburzony. Nie są przekazywane do aplikacji. |
| EC_USERABORT | Użytkownik zakończył odtwarzanie. |
| EC_VIDEO_SIZE_CHANGED | Rozmiar natywnego wideo został zmieniony. |
| EC_VIDEOFRAMEREADY | Ramka wideo jest gotowa do wyświetlenia. |
| EC_VMR_RECONNECTION_FAILED | Wysłane przez maszynę wirtualną VMR-7 i VMR-9, gdy nie można było zaakceptować żądania zmiany formatu dynamicznego z nadrzędnego dekodera. |
| EC_VMR_RENDERDEVICE_SET | Wysłane, gdy maszyna wirtualna wybrała mechanizm renderowania. |
| EC_VMR_SURFACE_FLIPPED | Wysłane, gdy prezenter alokatora VMR-7 nazwał metodę DirectDraw Flip na prezentowanej powierzchni. |
| EC_WINDOW_DESTROYED | Renderator wideo został zniszczony lub usunięty z grafu. |
| EC_WMT_EVENT | Wysłane przez filtr czytnika ASF WM podczas odczytywania plików ASF chronionych przez zarządzanie prawami cyfrowymi (DRM). |
| EC_WMT_INDEX_EVENT | Wysyłane, gdy aplikacja używa składnika zapisywania ASF WM do indeksowania plików wideo w usłudze Windows Media. |
Tematy pokrewne