IMFExtendedCameraControl-Schnittstelle (mfidl.h)
Diese Schnittstelle wird verwendet, um die erweiterten Eigenschaften eines Erfassungsgeräts zu konfigurieren. Unterstützte Eigenschaften und Funktionen werden in der in ksmedia.h definierten Headerdatei als Konstanten mit der Namenskonvention KSCAMERA_EXTENDEDPROP_ definiert.
Vererbung
Die IMFExtendedCameraControl-Schnittstelle erbt von der IUnknown-Schnittstelle.
Methoden
Die IMFExtendedCameraControl-Schnittstelle verfügt über diese Methoden.
IMFExtendedCameraControl::CommitSettings Committent die konfigurierten Steuerelementeinstellungen an den Kameratreiber. |
IMFExtendedCameraControl::GetCapabilities Abfragen von Eigenschaftenfunktionen, die vom Erfassungsgerät unterstützt werden. |
IMFExtendedCameraControl::GetFlags Abfragen von Eigenschaftenflags auf dem Erfassungsgerät. |
IMFExtendedCameraControl::LockPayload Sperrt den internen Nutzlastpuffer, der im Erfassungsgerätesteuerelement enthalten ist, um das Abfragen oder Ändern der Nutzlast zu ermöglichen. |
IMFExtendedCameraControl::SetFlags Legt die Flags für eine Eigenschaft auf dem Aufnahmegerät fest. |
IMFExtendedCameraControl::UnlockPayload Entsperrt die rohe Nutzlast, die in der Erfassungsgerätesteuerung enthalten ist. |
Bemerkungen
Rufen Sie eine Instanz dieser Schnittstelle ab, indem Sie IMFExtendedCameraController::GetExtendedCameraControl aufrufen.
Nicht unterstützte Eigenschaften
Beachten Sie, dass einige KSCAMERA_EXTENDEDPROP_ Eigenschaften für diese API nicht unterstützt werden. Auf ihre Funktionalität kann nur von Client-Apps über die WinRT-Medienerfassungs-APIs zugegriffen werden.
KSPROPERTY_CAMERACONTROL_EXTENDED_WARMSTART
Das Verhalten dieser Eigenschaft wird über die folgenden WinRT-APIs verfügbar gemacht:
- PrepareLowLagPhotoCaptureAsync
- PrepareLowLagRecordToCustomSinkAsync
- PrepareLowLagRecordToStorageFileAsync
- PrepareLowLagRecordToStreamAsync
Diese APIs führen dazu, dass die Erfassungspipeline mit dem ausgewählten Medientyp konfiguriert wird und die Treibernadel in einen angehaltenen Zustand versetzt wird, wodurch der Treiber informiert wird, die für den Vorgang zugeordneten/konfigurierten Hardwareressourcen abzurufen. Dies trägt dazu bei, die Latenz zu minimieren, indem die Vorbereitung von Ressourcen vorab geladen wird.
Beachten Sie, dass die Warmstartfunktion ein optionales Steuerelement für Erfassungsgeräte ist. Wenn das Steuerelement also nicht verfügbar ist, bieten die oben genannten APIs nicht das Warmstartverhalten. Diese APIs konfigurieren weiterhin die Senkenseite der Erfassung, sodass ihre Verwendung einige Vorteile hat.
KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE
Das Verhalten dieser Eigenschaft wird über die folgenden WinRT-APIs verfügbar gemacht:
Diese APIs konfigurieren sowohl die Erfassungs- als auch die Senkenseite der Pipeline und versetzen die Treibernadel in den ausgeführten Zustand, erfassen Frames, aber noch nicht an die Pipeline. Die Frames beginnen, die Pipeline zu durchlaufen, wenn der Erfassungsvorgang gestartet wird.
Beachten Sie, dass diese Funktionalität ein optionales Steuerelement für Erfassungsgeräte ist. Wenn das Steuerelement also nicht verfügbar ist, geben die obigen APIs einen Fehler zurück.
Beispiele
Im folgenden Beispiel wird das Festlegen des KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON-Flags und das Committen der Einstellung veranschaulicht.
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());
}
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows 10 Build 20348 |
Unterstützte Mindestversion (Server) | Windows 10 Build 20348 |
Kopfzeile | mfidl.h |