IMFCaptureEngine::Inisialisasi metode (mfcaptureengine.h)

Menginisialisasi mesin penangkap.

Sintaks

HRESULT Initialize(
  [in]           IMFCaptureEngineOnEventCallback *pEventCallback,
  [in, optional] IMFAttributes                   *pAttributes,
  [in, optional] IUnknown                        *pAudioSource,
  [in, optional] IUnknown                        *pVideoSource
);

Parameter

[in] pEventCallback

Penunjuk ke antarmuka IMFCaptureEngineOnEventCallback . Pemanggil harus mengimplementasikan antarmuka ini. Mesin penangkap menggunakan antarmuka ini untuk mengirim peristiwa asinkron ke pemanggil.

[in, optional] pAttributes

Penunjuk ke antarmuka IMFAttributes . Parameter ini bisa NULL.

Anda dapat menggunakan parameter ini untuk mengonfigurasi mesin penangkap. Panggil MFCreateAttributes untuk membuat penyimpanan atribut, lalu atur salah satu atribut berikut.

[in, optional] pAudioSource

Penunjuk IUnknown yang menentukan perangkat penangkap audio. Parameter ini bisa NULL.

Jika Anda mengatur atribut MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY ke TRUE di pAttributes, mesin pengambilan tidak menggunakan perangkat audio, dan parameter pAudioSource diabaikan.

Jika tidak, jika pAudioSourceADALAH NULL, mesin tangkap memilih mikrofon yang terpasang ke dalam kamera video yang ditentukan oleh pVideoSource. Jika kamera video tidak memiliki mikrofon, mesin tangkap menghitung perangkat pengambilan audio pada sistem dan memilih yang pertama.

Untuk mengganti perangkat audio default, atur pAudioSource ke pointer IMFMediaSource atau IMFActivate untuk perangkat. Untuk informasi selengkapnya, lihat Pengambilan Audio/Video di Media Foundation.

[in, optional] pVideoSource

Penunjuk IUnknown yang menentukan perangkat penangkap video. Parameter ini bisa NULL.

Jika Anda mengatur atribut MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY ke TRUE di pAttributes, mesin pengambilan tidak menggunakan perangkat video, dan parameter pVideoSource diabaikan.

Jika tidak, jika pVideoSourceadalah NULL, mesin penangkap menghitung perangkat pengambilan video pada sistem dan memilih yang pertama.

Untuk mengganti perangkat video default, atur pVideoSource ke penunjuk IMFMediaSource atau IMFActivate untuk perangkat. Untuk informasi selengkapnya, lihat Menghitung Perangkat Pengambilan Video.

Nilai kembali

Metode ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
MF_E_INVALIDREQUEST
Metode Inisialisasi sudah dipanggil.
MF_E_NO_CAPTURE_DEVICES_AVAILABLE
Tidak ada perangkat penangkapan yang tersedia.
MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT
Ada perangkat penangkapan yang tidak didukung pada sistem. Kesalahan ini hanya akan dikembalikan jika NULL ditentukan untuk parameter pVideoSource , yang menunjukkan bahwa sistem harus memilih perangkat penangkapan, dan jika tidak ada perangkat pengambilan yang didukung yang telah terpasang. Disarankan agar aplikasi menunjukkan kepada pengguna pesan perangkat penangkapan tertentu yang tidak didukung jika kesalahan ini dikembalikan, bukan pesan kegagalan umum.

Keterangan

Anda harus memanggil metode ini sekali sebelum menggunakan mesin penangkap. Memanggil metode untuk kedua kalinya mengembalikan MF_E_INVALIDREQUEST.

Metode ini asinkron. Jika metode mengembalikan kode keberhasilan, pemanggil akan menerima peristiwa MF_CAPTURE_ENGINE_INITIALIZED melalui metode IMFCaptureEngineOnEventCallback::OnEvent . Operasi dapat gagal secara asinkron setelah metode berhasil. Jika demikian, kode kesalahan disampaikan melalui metode OnEvent .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 [khusus aplikasi desktop]
Server minimum yang didukung Windows Server 2012 [hanya aplikasi desktop]
Target Platform Windows
Header mfcaptureengine.h

Lihat juga

IMFCaptureEngine