Table of Contents

Namespace NAudio.CoreAudioApi

Namespaces

NAudio.CoreAudioApi.Interfaces

Classes

AcousticEchoCancellationControl

Controls the acoustic echo cancellation (AEC) reference stream for a capture AudioClient. Wraps the Windows IAcousticEchoCancellationControl interface.

AudioCaptureClient

Audio Capture Client

AudioClient

Windows CoreAudio AudioClient. Wraps IAudioClient, IAudioClient2, and IAudioClient3.

AudioClockClient

Audio Clock Client

AudioDeviceDisconnectedException

Exception thrown when the audio device has been disconnected or reconfigured.

AudioDeviceInUseException

Exception thrown when the audio device is in exclusive use by another application.

AudioEndpointVolume

Audio Endpoint Volume. Volume change notifications from COM arrive on a background thread. If a SynchronizationContext is captured at construction time, notifications are marshaled to that context (e.g. the UI thread).

AudioEndpointVolumeChannel

Audio Endpoint Volume Channel

AudioEndpointVolumeChannels

Audio Endpoint Volume Channels

AudioEndpointVolumeStepInformation

Audio Endpoint Volume Step Information

AudioEndpointVolumeVolumeRange

Audio Endpoint Volume Volume Range

AudioExclusiveModeNotAllowedException

Exception thrown when exclusive mode is not allowed for the audio endpoint.

AudioFormatNotSupportedException

Exception thrown when the audio format is not supported.

AudioMeterInformation

Wrapper for IAudioMeterInformation. Reports the master peak value and per-channel peak values for an audio stream or endpoint.

AudioMeterInformationChannels

Audio Meter Information Channels

AudioMute

Audio Mute

AudioRenderClient

Audio Render Client

AudioSessionControl

AudioSessionControl object for information regarding an audio session

AudioSessionEventsCallback

AudioSessionEvents callback implementation

AudioSessionManager

AudioSessionManager

Designed to manage audio sessions and in particular the SimpleAudioVolume interface to adjust a session volume

AudioStreamVolume

Manages the AudioStreamVolume for the AudioClient.

AudioVolumeLevel

Audio Volume Level

AudioVolumeNotificationData

Audio Volume Notification Data

Connector

Connector

CoreAudioException

Exception thrown by Core Audio API operations. Inherits from COMException for backwards compatibility with code that catches COMException.

DefaultDeviceChangedEventArgs

Event data for DefaultDeviceChanged.

DeviceNotificationEventArgs

Base event data for an endpoint device notification raised by MMDeviceNotificationClient. Carries the endpoint ID string that identifies the device the notification is about. Treat the ID as opaque — pass it to GetDevice(string) or compare it against ID, but do not parse it.

DevicePropertyChangedEventArgs

Event data for PropertyValueChanged.

DeviceStateChangedEventArgs

Event data for DeviceStateChanged.

DeviceTopology

Windows CoreAudio DeviceTopology

KsJackDescription

KS Jack Description

MMDevice

A single Core Audio endpoint (IMMDevice) — render or capture, and one of the four DeviceState values. Provides access to the property store, session manager, endpoint volume, peak meter, device topology, and audio clients. Obtain instances from MMDeviceEnumerator.

MMDeviceCollection

A snapshot of audio endpoints returned by EnumerateAudioEndPoints(DataFlow, DeviceState). Indexable and enumerable; each access materialises a fresh MMDevice wrapper around the same underlying COM endpoint. Dispose when finished to release the underlying IMMDeviceCollection.

MMDeviceEnumerator

Entry point to the Windows Core Audio device enumeration API (IMMDeviceEnumerator). Use this to discover audio endpoints, resolve the default render or capture device, look up a device by ID, and subscribe to endpoint change notifications.

MMDeviceNotificationClient

High-level, event-based subscription to Windows Core Audio endpoint notifications. Obtain one from CreateNotificationClient(bool), subscribe to the events you care about, and Dispose() it (or the owning enumerator) when done.

Part

Audio Part

PartsList

Parts List

PropertyKeys

Property Keys

PropertyStore

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

SessionCollection

Collection of sessions.

SimpleAudioVolume

Windows CoreAudio SimpleAudioVolume

WasapiCapture

Audio Capture using Wasapi See http://msdn.microsoft.com/en-us/library/dd370800%28VS.85%29.aspx

Structs

AudioClientActivationParams

AUDIOCLIENT_ACTIVATION_PARAMS https://docs.microsoft.com/en-us/windows/win32/api/audioclientactivationparams/ns-audioclientactivationparams-audioclient_activation_params Used with ActivateAudioInterfaceAsync to capture audio from a specific process (Windows 10 2004+).

AudioClientPeriodInfo

Information about the audio engine periodicity for shared mode.

AudioClientProcessLoopbackParams

AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS https://docs.microsoft.com/en-us/windows/win32/api/audioclientactivationparams/ns-audioclientactivationparams-audioclient_process_loopback_params

AudioClientProperties

The AudioClientProperties structure is used to set the parameters that describe the properties of the client's audio stream.

CaptureBufferLease

Provides zero-copy read access to a WASAPI capture buffer. The buffer pointer is only valid until Dispose/Release is called. Must be used with using to ensure ReleaseBuffer is called.

PropertyKey

PROPERTYKEY is defined in wtypes.h

PropertyStoreProperty

Property Store Property

RenderBufferLease

Provides zero-copy write access to a WASAPI render buffer. The buffer pointer is only valid until Dispose/Release is called. Must be used with using to ensure ReleaseBuffer is called.

Enums

AudioClientActivationType

AUDIOCLIENT_ACTIVATION_TYPE https://docs.microsoft.com/en-us/windows/win32/api/audioclientactivationparams/ne-audioclientactivationparams-audioclient_activation_type

AudioClientBufferFlags

Audio Client Buffer Flags

AudioClientShareMode

AUDCLNT_SHAREMODE

AudioClientStreamFlags

AUDCLNT_STREAMFLAGS https://docs.microsoft.com/en-us/windows/win32/coreaudio/audclnt-streamflags-xxx-constants

AudioClientStreamOptions

Defines values that describe the characteristics of an audio stream. AUDCLNT_STREAMOPTIONS https://docs.microsoft.com/en-us/windows/win32/api/audioclient/ne-audioclient-audclnt_streamoptions

AudioStreamCategory

Specifies the category of an audio stream. https://docs.microsoft.com/en-us/windows/win32/api/audiosessiontypes/ne-audiosessiontypes-audio_stream_category AUDIO_STREAM_CATEGORY

ConnectorType

Connector Type

DataFlow

The EDataFlow enumeration defines constants that indicate the direction in which audio data flows between an audio endpoint device and an application

DeviceState

Device State

EEndpointHardwareSupport

Endpoint Hardware Support

ProcessLoopbackMode

PROCESS_LOOPBACK_MODE https://docs.microsoft.com/en-us/windows/win32/api/audioclientactivationparams/ne-audioclientactivationparams-process_loopback_mode

Role

The ERole enumeration defines constants that indicate the role that the system has assigned to an audio endpoint device

Delegates

AudioEndpointVolumeNotificationDelegate

Audio Endpoint Volume Notifiaction Delegate

AudioSessionManager.SessionCreatedDelegate

Session created delegate