Kelas CBaseFilter
[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.]
Kelas CBaseFilter
adalah kelas abstrak untuk menerapkan filter. Untuk menerapkan filter menggunakan kelas ini, Anda harus melakukan setidaknya langkah-langkah berikut:
- Dapatkan kelas baru dari
CBaseFilter
. - Sertakan variabel anggota yang menentukan pin pada filter. Pin harus diwarisi dari kelas CBasePin .
- Ambil alih metode virtual murni CBaseFilter::GetPin, yang mengambil pin pada filter.
- Ambil alih metode virtual murni CBaseFilter::GetPinCount, yang mengambil jumlah pin.
- Menyediakan metode untuk menghasilkan, memproses, atau merender sampel media.
Beberapa kelas dasar berasal dari CBaseFilter
, termasuk CSource, CBaseRenderer, dan CTransformFilter. Biasanya lebih mudah untuk menerapkan filter dengan salah satu kelas khusus ini, daripada menggunakan CBaseFilter
secara langsung.
Variabel Anggota yang Dilindungi | Deskripsi |
---|---|
m_State | Status filter saat ini. |
m_pClock | Arahkan ke jam referensi filter. |
m_tStart | Waktu referensi yang sesuai dengan waktu streaming 0. |
m_clsid | Pengidentifikasi kelas (CLSID) filter. |
m_pLock | Penunjuk ke bagian penting yang digunakan untuk menserialisasikan perubahan status. |
m_pName | Nama filter. |
m_pGraph | Arahkan ke manajer grafik filter. |
m_pSink | Arahkan ke antarmuka IMediaEventSink pada manajer grafik filter. |
m_PinVersion | Versi saat ini dari set pin pada filter ini. |
Metode Publik | Deskripsi |
CBaseFilter | Metode konstruktor. |
~ CBaseFilter | Metode destruktor. |
StreamTime | Mengambil waktu streaming saat ini. Virtual. |
IsActive | Menentukan apakah filter saat ini aktif (berjalan atau dijeda). |
Dihentikan | Menentukan apakah filter saat ini dihentikan. |
NotifyEvent | Mengirim pemberitahuan peristiwa ke manajer grafik filter. |
GetFilterGraph | Mengambil penunjuk ke manajer grafik filter. |
Sambungkan UlangPin | Memutuskan koneksi pin yang ada dan menyambungkannya kembali ke pin yang sama, menggunakan jenis media tertentu. |
GetPinVersion | Mengambil nomor versi untuk kumpulan pin pada filter ini. Virtual. |
IncrementPinVersion | Menaikkan nomor versi pada kumpulan pin. |
GetSetupData | Mengambil data pendaftaran untuk filter. Virtual. |
Metode Virtual Murni | Deskripsi |
GetPinCount | Mengambil jumlah pin. |
GetPin | Mengambil pin. |
Metode IPersist | Deskripsi |
GetClassID | Mengambil pengidentifikasi kelas. |
Metode IMediaFilter | Deskripsi |
GetState | Mengambil status filter (berjalan, dihentikan, atau dijeda). |
SetSyncSource | Mengatur jam referensi untuk filter. |
GetSyncSource | Mengambil jam referensi yang digunakan filter. |
Hentikan | Menghentikan filter. |
Pause | Menjeda filter. |
jalankan | Menjalankan filter. |
Metode IBaseFilter | Deskripsi |
EnumPins | Menghitung pin pada filter ini. |
FindPin | Mengambil pin dengan pengidentifikasi yang ditentukan. |
QueryFilterInfo | Mengambil informasi tentang filter. |
JoinFilterGraph | Memberi tahu filter bahwa filter telah bergabung atau meninggalkan grafik filter. |
QueryVendorInfo | Mengambil string yang berisi informasi vendor. |
Metode IAMovieSetup | Deskripsi |
Daftar | Menambahkan filter ke registri. |
Membatalkan Pendaftaran | Menghapus filter dari registri. |
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|