Antarmuka IMFExtendedCameraControl (mfidl.h)
Antarmuka ini digunakan untuk mengonfigurasi properti perangkat tangkapan yang diperluas. Properti dan kemampuan yang didukung didefinisikan dalam file header yang ditentukan dalam ksmedia.h sebagai konstanta dengan konvensi penamaan KSCAMERA_EXTENDEDPROP_.
Warisan
Antarmuka IMFExtendedCameraControl mewarisi dari antarmuka IUnknown.
Metode
Antarmuka IMFExtendedCameraControl memiliki metode ini.
IMFExtendedCameraControl::CommitSettings Menerapkan pengaturan kontrol yang dikonfigurasi ke driver kamera. |
IMFExtendedCameraControl::GetCapabilities Kueri untuk kemampuan properti yang didukung oleh perangkat pengambilan. |
IMFExtendedCameraControl::GetFlags Kueri untuk bendera properti pada perangkat pengambilan. |
IMFExtendedCameraControl::LockPayload Mengunci buffer payload internal yang terkandung dalam kontrol perangkat tangkap untuk mengaktifkan kueri atau mengubah payload. |
IMFExtendedCameraControl::SetFlags Mengatur bendera untuk properti pada perangkat pengambilan. |
IMFExtendedCameraControl::UnlockPayload Membuka kunci payload mentah yang terkandung dalam kontrol perangkat tangkapan. |
Keterangan
Dapatkan instans antarmuka ini dengan memanggil IMFExtendedCameraController::GetExtendedCameraControl
Properti yang tidak didukung
Perhatikan bahwa beberapa properti KSCAMERA_EXTENDEDPROP_ tidak didukung untuk API ini. Fungsionalitasnya hanya dapat diakses oleh aplikasi klien melalui API pengambilan media WinRT.
KSPROPERTY_CAMERACONTROL_EXTENDED_WARMSTART
Perilaku properti ini diekspos melalui API WinRT berikut:
- PrepareLowLagPhotoCaptureAsync
- PrepareLowLagRecordToCustomSinkAsync
- PrepareLowLagRecordToStorageFileAsync
- PrepareLowLagRecordToStreamAsync
API ini menyebabkan alur pengambilan dikonfigurasi dengan jenis media yang dipilih dan menempatkan pin driver dimasukkan ke dalam status dijeda, yang menginformasikan driver untuk mendapatkan sumber daya perangkat keras yang dialokasikan/dikonfigurasi untuk operasi. Ini membantu meminimalkan latensi dengan memuat depan persiapan sumber daya.
Perhatikan bahwa fungsionalitas warm start adalah kontrol opsional untuk menangkap perangkat, jadi jika kontrol tidak tersedia, API di atas tidak akan memberikan perilaku warm start. API ini masih akan mengonfigurasi sisi sink tangkapan sehingga ada beberapa manfaat untuk menggunakannya.
KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE
Perilaku properti ini diekspos melalui API WinRT berikut:
API ini mengonfigurasi sisi tangkapan dan sink alur dan memasukkan pin driver ke status berjalan, menangkap bingkai tetapi belum meneruskan bingkai ke alur. Bingkai mulai melewati alur ketika operasi penangkapan dimulai.
Perhatikan bahwa fungsionalitas ini adalah kontrol opsional untuk menangkap perangkat, jadi jika kontrol tidak tersedia, API di atas mengembalikan kesalahan.
Contoh
Contoh berikut menunjukkan pengaturan bendera KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON dan menerapkan pengaturan.
if (FAILED(m_cameraController->GetExtendedCameraControl(MF_CAPTURE_ENGINE_MEDIASOURCE,
KSPROPERTY_CAMERACONTROL_EXTENDED_TORCHMODE,
cameraControl.put())))
{
// Return false to indicate that the Torch Mode control is not available.
return false;
}
ULONGLONG capabilities = cameraControl->GetCapabilities();
// Check if the torch can be turned on.
if (capabilities & KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON)
{
// Check if the torch is off.
if ((cameraControl->GetFlags() & KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON) == 0)
{
// Torch is off. Tell the camera to turn it on.
check_hresult(cameraControl->SetFlags(KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON));
// Write the changed settings to the driver.
check_hresult(cameraControl->CommitSettings());
}
}
Persyaratan
Klien minimum yang didukung | Windows 10 Build 20348 |
Server minimum yang didukung | Windows 10 Build 20348 |
Header | mfidl.h |