AdvancedPhotoControl AdvancedPhotoControl AdvancedPhotoControl AdvancedPhotoControl AdvancedPhotoControl Class


Provides functionality for controlling the advanced photo capture behavior on a capture device.

public : sealed class AdvancedPhotoControl : IAdvancedPhotoControl
struct winrt::Windows::Media::Devices::AdvancedPhotoControl : IAdvancedPhotoControl
public sealed class AdvancedPhotoControl : IAdvancedPhotoControl
Public NotInheritable Class AdvancedPhotoControl Implements IAdvancedPhotoControl
// This class does not provide a public constructor.
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


Get an instance of this class by accessing the VideoDeviceController.AdvancedPhotoControl property.

For how-to guidance on using AdvancedPhotoCapture, see High dynamic range (HDR) and low-light photo capture.


Mode Mode Mode Mode Mode

Gets the current advanced capture mode of the AdvancedPhotoControl.

public : AdvancedPhotoMode Mode { get; }
AdvancedPhotoMode Mode();
public AdvancedPhotoMode Mode { get; }
Public ReadOnly Property Mode As AdvancedPhotoMode
var advancedPhotoMode = advancedPhotoControl.mode;
AdvancedPhotoMode AdvancedPhotoMode AdvancedPhotoMode

The current advanced capture mode of the AdvancedPhotoControl.


Set the advanced capture mode of the AdvancedPhotoControl by calling the Configure method.

Supported Supported Supported Supported Supported

Gets a value indicating whether the AdvancedPhotoControl is supported on the current capture device.

public : Platform::Boolean Supported { get; }
bool Supported();
public bool Supported { get; }
Public ReadOnly Property Supported As bool
var bool = advancedPhotoControl.supported;
bool bool bool

True if the AdvancedPhotoControl is supported; otherwise, false.

SupportedModes SupportedModes SupportedModes SupportedModes SupportedModes

Gets a list of the advanced capture modes supported by the current capture device.

public : IVectorView<AdvancedPhotoMode> SupportedModes { get; }
IVectorView<AdvancedPhotoMode> SupportedModes();
public IReadOnlyList<AdvancedPhotoMode> SupportedModes { get; }
Public ReadOnly Property SupportedModes As IReadOnlyList<AdvancedPhotoMode>
var iReadOnlyList = advancedPhotoControl.supportedModes;
IReadOnlyList<AdvancedPhotoMode> IReadOnlyList<AdvancedPhotoMode> IReadOnlyList<AdvancedPhotoMode>

A list of the advanced capture modes supported by the current capture device.



Starting with Windows 10, version 1709, recording video and using AdvancedPhotoCapture concurrently is supported. This is not supported in previous versions. This change means that you can have a prepared LowLagMediaRecording and AdvancedPhotoCapture at the same time. You can start or stop video recording between calls to MediaCapture.PrepareAdvancedPhotoCaptureAsync and AdvancedPhotoCapture.FinishAsync. You can also call AdvancedPhotoCapture.CaptureAsync while video is recording. However, some AdvancedPhotoCapture scenarios, like capturing an HDR photo while recording video would cause some video frames to be altered by the HDR capture, resulting in a negative user experience. For this reason, the list of modes returned by the AdvancedPhotoControl.SupportedModes will be different while video is recording. You should check this value immediately after starting or stopping video recording to ensure that the desired mode is supported in the current video recording state.


Configure(AdvancedPhotoCaptureSettings) Configure(AdvancedPhotoCaptureSettings) Configure(AdvancedPhotoCaptureSettings) Configure(AdvancedPhotoCaptureSettings) Configure(AdvancedPhotoCaptureSettings)

Configures the AdvancedPhotoControl object with the specified settings.

public : void Configure(AdvancedPhotoCaptureSettings settings)
void Configure(AdvancedPhotoCaptureSettings settings) const;
public void Configure(AdvancedPhotoCaptureSettings settings)
Public Function Configure(settings As AdvancedPhotoCaptureSettings) As void
AdvancedPhotoCaptureSettings AdvancedPhotoCaptureSettings AdvancedPhotoCaptureSettings

The object defining the configuration settings.

See Also