Table of Contents

Class LoopbackAudioCaptureDeviceSourceSettings

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

Loopback audio capture device source settings.

public class LoopbackAudioCaptureDeviceSourceSettings : IAudioCaptureDeviceSourceSettings, IVideoCaptureBaseAudioSourceSettings, IMediaBlockSettings, IAudioVolumeMute

Inheritance

Implements

Inherited Members

Constructors

LoopbackAudioCaptureDeviceSourceSettings(AudioOutputDeviceInfo)

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

public LoopbackAudioCaptureDeviceSourceSettings(AudioOutputDeviceInfo device)

Parameters

device AudioOutputDeviceInfo

The device.

LoopbackAudioCaptureDeviceSourceSettings(AudioOutputDeviceInfo, BaseContext)

Initializes a new instance of the VisioForge.Core.Types.X.Sources.LoopbackAudioCaptureDeviceSourceSettings class with a logging context.

public LoopbackAudioCaptureDeviceSourceSettings(AudioOutputDeviceInfo device, BaseContext context)

Parameters

device AudioOutputDeviceInfo

The device.

context BaseContext

Optional context for structured logging. When null, output falls back to Trace.

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

Context

Gets or sets the context for structured logging.

public BaseContext Context { get; set; }

Property Value

BaseContext

Device

Gets or sets the name.

public AudioOutputDeviceInfo Device { get; set; }

Property Value

AudioOutputDeviceInfo

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

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.

IsInterfaceWired()

Returns true if the volume/mute interface has been wired via VisioForge.Core.Types.X.Sources.LoopbackAudioCaptureDeviceSourceSettings.SetInterface(VisioForge.Core.Types.X.IAudioVolumeMute). This is a clearer-named alias for VisioForge.Core.Types.X.Sources.LoopbackAudioCaptureDeviceSourceSettings.IsSupported; it does not perform any runtime feature probe.

public bool IsInterfaceWired()

Returns

bool

true if the interface has been wired; otherwise, false.

IsSupported()

Returns true if the underlying volume/mute interface has been wired via VisioForge.Core.Types.X.Sources.LoopbackAudioCaptureDeviceSourceSettings.SetInterface(VisioForge.Core.Types.X.IAudioVolumeMute). Does NOT validate that the interface implementation is functional, nor that the device supports volume/mute at the WASAPI level — it strictly reports whether VisioForge.Core.Types.X.Sources.LoopbackAudioCaptureDeviceSourceSettings.SetInterface(VisioForge.Core.Types.X.IAudioVolumeMute) has been called with a non-null argument. Prefer VisioForge.Core.Types.X.Sources.LoopbackAudioCaptureDeviceSourceSettings.IsInterfaceWired for the same check with a clearer name.

public bool IsSupported()

Returns

bool

true if the interface has been wired; 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.