Bagikan melalui


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:

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