Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[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 |
|