Metode CBaseStreamControl.NotifyFilterState
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Metode ini NotifyFilterState
memberi tahu pin saat status filter berubah.
Sintaks
void NotifyFilterState(
FILTER_STATE new_state,
REFERENCE_TIME tStart = 0
);
Parameter
-
new_state
-
Menentukan status baru, sebagai anggota enumerasi FILTER_STATE .
-
tMulai
-
Menentukan waktu mulai. Jika status filter baru State_Running, teruskan nilai dari metode IMediaFilter::Run . Jika tidak, gunakan nilai default.
Mengembalikan nilai
Metode ini tidak mengembalikan nilai.
Keterangan
Metode ini menyebabkan metode CBaseStreamControl::CheckStreamState berhenti menunggu. Panggil metode ini setiap kali filter pemilik berubah status.
Contoh
STDMETHODIMP CMyFilter::Run(REFERENCE_TIME tStart)
{
/* Do other things needed by the filter ... */
m_pMyPin->NotifyFilterState(State_Running, tStart);
return CBaseFilter::Run(tStart); // Call the filter base class.
}
STDMETHODIMP CMyFilter::Pause()
{
/* Do other things needed by the filter ... */
m_pMyPin->NotifyFilterState(State_Paused);
return CBaseFilter::Pause();
}
STDMETHODIMP CMyFilter::Stop()
{
/* Do other things needed by the filter ... */
m_pMyPin->NotifyFilterState(State_Stopped);
return CBaseFilter::Stop();
}
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|