IAudioClient interface (audioclient.h)

The IAudioClient interface enables a client to create and initialize an audio stream between an audio application and the audio engine (for a shared-mode stream) or the hardware buffer of an audio endpoint device (for an exclusive-mode stream). A client obtains a reference to an IAudioClient interface for an audio endpoint device by following these steps:

  1. By using one of the techniques described in IMMDevice Interface, obtain a reference to the IMMDevice interface for an audio endpoint device.
  2. Call the IMMDevice::Activate method with parameter iid set to REFIID IID_IAudioClient.

The application thread that uses this interface must be initialized for COM. For more information about COM initialization, see the description of the CoInitializeEx function in the Windows SDK documentation.

For code examples that use the IAudioClient interface, see the following topics:

Inheritance

The IAudioClient interface inherits from the IUnknown interface. IAudioClient also has these types of members:

Methods

The IAudioClient interface has these methods.

 
IAudioClient::GetBufferSize

The GetBufferSize method retrieves the size (maximum capacity) of the endpoint buffer.
IAudioClient::GetCurrentPadding

The GetCurrentPadding method retrieves the number of frames of padding in the endpoint buffer.
IAudioClient::GetDevicePeriod

The GetDevicePeriod method retrieves the length of the periodic interval separating successive processing passes by the audio engine on the data in the endpoint buffer.
IAudioClient::GetMixFormat

The GetMixFormat method retrieves the stream format that the audio engine uses for its internal processing of shared-mode streams.
IAudioClient::GetService

The GetService method accesses additional services from the audio client object.
IAudioClient::GetStreamLatency

The GetStreamLatency method retrieves the maximum latency for the current stream and can be called any time after the stream has been initialized.
IAudioClient::Initialize

The Initialize method initializes the audio stream.
IAudioClient::IsFormatSupported

The IsFormatSupported method indicates whether the audio endpoint device supports a particular stream format.
IAudioClient::Reset

The Reset method resets the audio stream.
IAudioClient::SetEventHandle

The SetEventHandle method sets the event handle that the system signals when an audio buffer is ready to be processed by the client.
IAudioClient::Start

The Start method starts the audio stream.
IAudioClient::Stop

The Stop method stops the audio stream.

Remarks

Note  In Windows 8, the first use of IAudioClient to access the audio device should be on the STA thread. Calls from an MTA thread may result in undefined behavior.
 

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps | UWP apps]
Minimum supported server Windows Server 2008 [desktop apps | UWP apps]
Target Platform Windows
Header audioclient.h

See also

Core Audio Interfaces

IMMDevice::Activate

WASAPI