Table of Contents

Class WASAPIAudioCaptureDeviceSourceSettings

Namespace
VisioForge.Core.Types.X.Sources
Assembly
VisioForge.Core.dll

WASAPI audio capture device source settings.

public class WASAPIAudioCaptureDeviceSourceSettings : IAudioCaptureDeviceSourceSettings, IVideoCaptureBaseAudioSourceSettings, IMediaBlockSettings, IAudioVolumeMute

Inheritance

Implements

Inherited Members

Constructors

WASAPIAudioCaptureDeviceSourceSettings(AudioCaptureDeviceInfo, AudioCaptureDeviceFormat)

Initializes a new instance of the VisioForge.Core.Types.X.Sources.WASAPIAudioCaptureDeviceSourceSettings class.

public WASAPIAudioCaptureDeviceSourceSettings(AudioCaptureDeviceInfo device, AudioCaptureDeviceFormat format)

Parameters

device AudioCaptureDeviceInfo

The device.

format AudioCaptureDeviceFormat

The format.

Properties

API

Gets or sets the API.

public AudioCaptureDeviceAPI API { get; }

Property Value

AudioCaptureDeviceAPI

BufferTime

Gets or sets the size of the audio buffer held by the device, and the maximum latency the source reports. Larger values make capture tolerant of CPU spikes; smaller values reduce latency at the cost of dropped audio when the machine stalls. Set to Zero or a negative value to leave the element default untouched. The resolution is one microsecond; a smaller positive value is raised to it, and anything above 10 seconds is capped.

public TimeSpan BufferTime { get; set; }

Property Value

TimeSpan

Device

Gets or sets the device.

public AudioCaptureDeviceInfo Device { get; set; }

Property Value

AudioCaptureDeviceInfo

Exclusive

Gets or sets a value indicating whether to open the device in exclusive mode.

public bool Exclusive { get; set; }

Property Value

bool

Format

Gets or sets the format.

public AudioCaptureDeviceFormat Format { get; set; }

Property Value

AudioCaptureDeviceFormat

LatencyTime

Gets or sets the minimum amount of data read in each iteration, and the minimum latency the source reports. Set to Zero or a negative value to leave the element default untouched. The resolution is one microsecond; a smaller positive value is raised to it, and anything above 10 seconds is capped.

public TimeSpan LatencyTime { get; set; }

Property Value

TimeSpan

Loopback

Gets or sets a value indicating whether to open the sink device for loopback recording.

public bool Loopback { get; set; }

Property Value

bool

LowLatency

Gets or sets a value indicating whether to optimize all settings for lowest latency.

public bool LowLatency { get; set; }

Property Value

bool

Role

Gets or sets the role of the device.

public WASAPIDeviceRole Role { get; set; }

Property Value

WASAPIDeviceRole

UseAudioClient3

Gets or sets a value indicating whether to use the Windows 10 AudioClient3 API when available

public bool UseAudioClient3 { get; set; }

Property Value

bool

Methods

CreateBlock()

Creates the block.

public MediaBlock CreateBlock()

Returns

MediaBlock

MediaBlock.

GetMute()

Gets the mute.

public bool GetMute()

Returns

bool

true if successful, false otherwise.

GetVolume()

Gets the volume. Value should be in 0.0 - 1.0 range.

public double GetVolume()

Returns

double

System.Double.

IsSupported()

Determines whether this interface is supported.

public bool IsSupported()

Returns

bool

true if this interface is supported; otherwise, false.

SetInterface(IAudioVolumeMute)

Sets the interface.

public void SetInterface(IAudioVolumeMute intf)

Parameters

intf IAudioVolumeMute

The interface.

SetMute(bool)

Sets the mute.

public void SetMute(bool mute)

Parameters

mute bool

if set to true mute.

SetVolume(double)

Sets the volume. Value should be in 0.0 - 1.0 range.

public void SetVolume(double volume)

Parameters

volume double

The volume.