IMFExtendedCameraControl 介面 (mfidl.h)
此介面可用來設定擷取裝置的擴充屬性。 支援的屬性和功能定義在 ksmedia.h 中定義的標頭檔中,以命名慣例 KSCAMERA_EXTENDEDPROP_為常數。
繼承
IMFExtendedCameraControl介面繼承自 IUnknown 介面。
方法
IMFExtendedCameraControl介面具有這些方法。
IMFExtendedCameraControl::CommitSettings 將設定的控制項設定認可至相機驅動程式。 |
IMFExtendedCameraControl::GetCapabilities 查詢擷取裝置所支援的屬性功能。 |
IMFExtendedCameraControl::GetFlags 查詢擷取裝置上的屬性旗標。 |
IMFExtendedCameraControl::LockPayload 鎖定擷取設備控制項中包含的內部承載緩衝區,以啟用查詢或變更承載。 |
IMFExtendedCameraControl::SetFlags 設定擷取裝置上屬性的旗標。 |
IMFExtendedCameraControl::UnlockPayload 解除鎖定擷取設備控制項中包含的原始承載。 |
備註
呼叫IMFExtendedCameraController::GetExtendedCameraControl以取得此介面的實例
不支援的屬性
請注意,此 API 不支援某些 KSCAMERA_EXTENDEDPROP_ 屬性。 其功能只能由用戶端應用程式透過 WinRT 媒體擷取 API 來存取。
KSPROPERTY_CAMERACONTROL_EXTENDED_WARMSTART
此屬性的行為會透過下列 WinRT API 公開:
- PrepareLowLagPhotoCaptureAsync
- PrepareLowLagRecordToCustomSinkAsync
- PrepareLowLagRecordToStorageFileAsync
- PrepareLowLagRecordToStreamAsync
這些 API 會讓擷取管線以選取的媒體類型進行設定,並將驅動程式釘選放入暫停狀態,以通知驅動程式取得為作業配置/設定的硬體資源。 這有助於在預先載入資源準備時將延遲降到最低。
請注意,暖啟動功能是擷取裝置的選擇性控制項,因此如果控制項無法使用,上述 API 將不會提供暖啟動行為。 這些 API 仍會設定擷取的接收端,因此使用它們有一些好處。
KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE
此屬性的行為會透過下列 WinRT API 公開:
這些 API 會設定管線的擷取和接收端,並將驅動程式釘選放入執行中狀態,擷取畫面,但尚未將框架傳遞至管線。 畫面格會在擷取作業啟動時開始通過管線。
請注意,此功能是擷取裝置的選擇性控制項,因此如果控制項無法使用,上述 API 會傳回錯誤。
範例
下列範例示範如何設定 KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON 旗標並認可設定。
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());
}
}
規格需求
最低支援的用戶端 | Windows 10組建 20348 |
最低支援的伺服器 | Windows 10組建 20348 |
標頭 | mfidl.h |