Copyright © 2006-2018 MultiMedia Soft

CoreAudioDeviceStateChange event

Previous pageReturn to chapter overviewNext page

Remarks

 

Occurs when the state of an audio endpoint device changes. The current status of an audio endpoint device could be also queried using the CoreAudioDevices.StatusGet method..

 

This event is only generated in Windows Vista and later versions: further information about management of audio devices in Windows Vista and later versions can be found inside the How to access settings of audio devices in Windows Vista and later versions tutorial.

 

 

Syntax

 

[Visual Basic]

CoreAudioDeviceStateChange (

nDeviceIndex as Integer,

nDataFlow as enumCoreAudioDataFlows,

nNewState as enumCoreAudioDeviceStates

)


 

[C++]

void CoreAudioDeviceStateChange (

short nDeviceIndex,

short nDataFlow,

short nNewState

);


 

 

Parameter

Description

 

 

nDeviceIndex

Zero-based index of the audio endpoint device which generated the event. The total number of audio endpoint devices can be obtained through the CoreAudioDevices.CountGet method.

When this parameter is set to -1 the application is notified about the fact that the status of one of the audio endpoint devices not previously enumerated through the call to the CoreAudioDevices.Enum method (for example a disabled device which become active and ready) has now changed its status so it could be worth calling again the CoreAudioDevices.Enum method in order to update the list of available audio endpoint devices.

nDataFlow

Direction in which audio data flows between an audio endpoint device and an application.

Supported values are the following:

Mnemonic Value

Value

Meaning

DEVICE_DATA_FLOW_RENDER

0

Audio rendering stream. Audio data flows from the application to the audio endpoint device, which renders the stream

DEVICE_DATA_FLOW_CAPTURE

1

Audio capture stream. Audio data flows from the audio endpoint device that captures the stream, to the application.

nNewState

New status assumed by the audio endpoint device.

The returned value can be a combination of the following flags:

Mnemonic Value

Value

Meaning

DEVICE_STATE_ACTIVE

1

The device is active

DEVICE_STATE_DISABLED

2

The device is disabled

DEVICE_STATE_NOTPRESENT

4

The device is not present: the audio endpoint device is considered "not present" when the audio adapter has been installed and configured inside the system but it was physically removed at a later time: quite typical situation with devices connected through USB.

DEVICE_STATE_UNPLUGGED

8

The device is unplugged: the audio endpoint device is considered "unplugged" when the audio adapter that contains the jack for the endpoint device is present and enabled, but the endpoint device is not plugged into the jack