VideoDeviceController Class

Definition

Controls device settings on the camera.

public ref class VideoDeviceController sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
class VideoDeviceController final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
public sealed class VideoDeviceController
Public NotInheritable Class VideoDeviceController
Inheritance
Object Platform::Object IInspectable VideoDeviceController
Attributes
Implements

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)

Remarks

To get an instance of this object, retrieve the MediaCapture.VideoDeviceController property.

Some drivers may require that the camera device preview to be in a running state before it can determine which controls are supported by the VideoDeviceController. If you check whether a certain control is supported by the VideoDeviceController before the preview stream is running, the control may be described as unsupported even though it is supported by the video device.

Note

This class is not agile, which means that you need to consider its threading model and marshaling behavior. For more info, see Threading and Marshaling (C++/CX) and Using Windows Runtime objects in a multithreaded environment (.NET).

Version history

Windows version SDK version Value added
1703 15063 GetDevicePropertyByExtendedId
1703 15063 GetDevicePropertyById
1703 15063 Id
1703 15063 SetDevicePropertyByExtendedId
1703 15063 SetDevicePropertyById
1803 17134 VideoTemporalDenoisingControl
1903 18362 InfraredTorchControl
2004 19041 PanelBasedOptimizationControl

Properties

AdvancedPhotoControl

Gets the advanced photo capture control for this video device.

BacklightCompensation

Gets a MediaDeviceControl object that can be used to get or set the whether back-light compensation is enabled on the camera.

Brightness

Gets a MediaDeviceControl object that can be used to get or set the brightness level on the camera.

CameraOcclusionInfo

Gets a CameraOcclusionInfo object that can be used to get the current occlusion state of a camera and receive notifications when the occlusion state changes.

Contrast

Gets a MediaDeviceControl object that can be used to get or set the contrast level on the camera.

DesiredOptimization

Gets or sets a value that indicates the optimizations the capture device should use to prioritize high quality picture, low latency, or low power consumption during video capture.

DigitalWindowControl

Gets a DigitalWindowControl that allows apps to capture a subregion of the capture device's sensor.

Exposure

Gets a MediaDeviceControl object that can be used to get or set the camera's exposure time.

ExposureCompensationControl

Gets the exposure compensation control for this video device.

ExposureControl

Gets the exposure control for this video device.

ExposurePriorityVideoControl

Gets the ExposurePriorityVideoControl associated with the VideoDeviceController.

FlashControl

Gets the flash control for this video device.

Focus

Gets a MediaDeviceControl object that can be used to get or set the camera's focus setting.

FocusControl

Gets the focus control for this video device.

HdrVideoControl

Gets the HdrVideoControl associated with the VideoDeviceController. This allows you to enable and disable High Dynamic Range (HDR) video capture mode on devices that support it.

Hue

Gets a MediaDeviceControl object that can be used to get or set the camera's hue setting.

Id

Gets a string containing the identifier for the video device controller.

InfraredTorchControl

Gets the infrared torch control for selected video device.

IsoSpeedControl

Gets the ISO film speed control for this video device.

LowLagPhoto

Gets the low shutter lag photo control for this video device.

LowLagPhotoSequence

Gets the low shutter lag photo sequence control for this video device.

OpticalImageStabilizationControl

Gets the OpticalImageStabilizationControl associated with the VideoDeviceController.

Pan

Gets a MediaDeviceControl object that can be used to get or set the camera's pan setting.

PanelBasedOptimizationControl

Gets the PanelBasedOptimizationControl that, when supported, allows an app to enable the capture device driver to optimize camera capture functionality based on the panel location of the camera.

PhotoConfirmationControl

Gets the photo confirmation control for this video device.

PrimaryUse

Gets or sets the primary use for the device.

RegionsOfInterestControl

Gets the regions of interest control for this video device.

Roll

Gets a MediaDeviceControl object that can be used to get or set the camera's roll setting.

SceneModeControl

Gets the scene mode control for this video device.

Tilt

Gets a MediaDeviceControl object that can be used to get or set the camera's tilt setting.

TorchControl

Gets the torch control for this video device.

VariablePhotoSequenceController

Gets the VariablePhotoSequenceController associated with the VideoDeviceController.

VideoTemporalDenoisingControl

Gets the VideoTemporalDenoisingControl associated with the VideoDeviceController. This allows you to enable and disable temporal denoising, which uses image data from adjacent frames to reduce the appearance of noise in captured video, on devices that support it.

WhiteBalance

Gets a MediaDeviceControl object that can be used to get or set the white balance on the camera.

WhiteBalanceControl

Gets the white balance control for this video device.

Zoom

Gets a MediaDeviceControl object that can be used to get or set the camera's zoom setting.

ZoomControl

Gets the ZoomControl associated with the VideoDeviceController.

Methods

GetAvailableMediaStreamProperties(MediaStreamType)

Gets a list of the supported encoding properties for the video device.

GetDeviceProperty(String)

Gets the value of the property with the specified ID from the capture device driver. You can use this method to query properties that are specific to a particular camera.

GetDevicePropertyByExtendedId(Byte[], IReference<UInt32>)

Gets the value of the property with the specified ID from the capture device driver, using an extended ID with custom header information and specifying the maximum buffer size required to store the result. You can use this method to query properties that are specific to a particular camera.

GetDevicePropertyById(String, IReference<UInt32>)

Gets a the value of the property from the capture device driver with the ID with custom header information. You can use this method to query properties that are specific to a particular camera.

GetMediaStreamProperties(MediaStreamType)

Gets the encoding properties for the specified media stream type for the video device.

SetDeviceProperty(String, Object)

Sets the value of the property with the specified ID on the capture device driver. You can use this method to set properties that are specific to a particular camera.

SetDevicePropertyByExtendedId(Byte[], Byte[])

Sets the value of the property with the specified ID from the capture device driver, using an extended ID with custom header information and providing the value as a byte array.

SetDevicePropertyById(String, Object)

Sets the value of the property with the specified ID from the capture device driver, using an extended ID with custom header information and providing the value as an object.

SetMediaStreamPropertiesAsync(MediaStreamType, IMediaEncodingProperties)

Sets the encoding properties asynchronously for the specified media stream type for the video device.

TryAcquireExclusiveControl(String, MediaCaptureDeviceExclusiveControlReleaseMode)

Requests exclusive control of the camera with the specified device ID.

TryGetPowerlineFrequency(PowerlineFrequency)

Gets the local power line frequency.

TrySetPowerlineFrequency(PowerlineFrequency)

Sets the local power line frequency.

Applies to

See also