Table of Contents

Namespace AudioDeviceLib.CoreAudioApi

Classes

AudioEndpointVolume

Managed wrapper over the Core Audio IAudioEndpointVolume interface. Provides master volume, per-channel volume, mute control and volume-change notifications for an endpoint.

AudioEndpointVolumeChannel

Volume control for a single channel of an audio endpoint.

AudioEndpointVolumeChannels

The collection of per-channel volume controls for an audio endpoint.

AudioEndpointVolumeStepInformation

Describes the discrete volume steps available on an audio endpoint.

AudioMeterInformation

Managed wrapper over the Core Audio IAudioMeterInformation interface. Exposes the current peak sample values (master and per-channel) for an audio endpoint.

AudioSessionBaseInfo

Immutable identity of an audio session, retained after disconnection.

AudioSessionControl

Managed wrapper over the Core Audio IAudioSessionControl2 interface. Represents a single audio session (typically one application) and exposes its state, metadata and volume controls.

AudioSessionInfo

An immutable, point-in-time snapshot of the information about an AudioSessionControl. It is handed to every IAudioSessionEvents callback so a consumer can identify and inspect the source session without touching the live COM object from a notification thread.

AudioSessionManager

Managed wrapper over the Core Audio IAudioSessionManager2 interface. Provides access to the collection of audio sessions on an endpoint.

AudioVolumeNotificationData

Immutable snapshot of an endpoint's volume state delivered with a volume-change notification.

PKEY

Well-known Core Audio property keys, as defined by DEFINE_PROPERTYKEY in the Windows SDK headers (mmdeviceapi.h and functiondiscoverykeys_devpkey.h).

PropertyStore

Property Store class, only supports reading properties at the moment.

PropertyStoreProperty

A single key/value entry read from a Core Audio PropertyStore.

PropertyValue

Represents a property value read from a Core Audio PropertyStore. This class encapsulates the property type and its value, and indicates whether the property is empty or null. The snapshot holds no unmanaged resources and requires no cleanup.

SessionCollection

A collection of the AudioSessionControl sessions on an audio endpoint.

SimpleAudioVolume

Managed wrapper over the Core Audio ISimpleAudioVolume interface. Provides per-session master volume and mute control.

Structs

AudioEndPointVolumeVolumeRange

Describes the supported volume range of an audio endpoint, in decibels.

PropertyKey

Identifies a single property in a Core Audio property store (the native PROPERTYKEY).

Interfaces

IAudioDeviceEvents

Receives change notifications for the set of audio endpoints. Implement this and register it with RegisterDeviceNotification(IAudioDeviceEvents).

IAudioEndpointVolumeEvents

Receives volume and mute change notifications for a single audio endpoint. Implement this and pass the instance to RegisterVolumeNotification(IAudioEndpointVolumeEvents).

IAudioSessionEvents

Receives change notifications for a single audio session. Implement this and pass the instance to RegisterAudioSessionNotification(IAudioSessionEvents).

Enums

AudioSessionDisconnectReason

Reasons an audio session can be disconnected, matching the native AudioSessionDisconnectReason.

AudioSessionState

The activity state of an audio session, matching the native AudioSessionState.

DataFlow

The data-flow direction of a single audio endpoint, matching the native EDataFlow. To select endpoints when enumerating, use DataFlowFilter.

DataFlowFilter

Selects which endpoint directions an enumeration returns, matching the native EDataFlow. The direction of a single endpoint is DataFlow.

DeviceState

The current state of a single audio endpoint, matching the native DEVICE_STATE_* constants. To select endpoints by state when enumerating, use DeviceStateFilter.

DeviceStateFilter

A bit mask of endpoint states selecting which endpoints an enumeration returns, matching the native DEVICE_STATE_* constants. The state of a single endpoint is DeviceState.

EndpointHardwareSupport

Bit flags describing which functions an endpoint supports in hardware, matching the native ENDPOINT_HARDWARE_SUPPORT_* constants.

Role

The device role used to resolve or assign a default endpoint, matching the native ERole.