Coin: SoAudioDevice Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

SoAudioDevice Class Reference
Miscellaneous Classes | 3D Sound Support Classes

The SoAudioDevice class is used to control an audio device. More...

`#include <Inventor/misc/SoAudioDevice.h>`

## Public Member Functions
SbBool | init (const SbString &devicetype, const SbString &devicename)
SbBool | enable ()
void | disable ()
SbBool | isEnabled ()
SbBool | haveSound ()
void | setGain (float gain)
void | mute (SbBool mute=TRUE)

## Static Public Member Functions
static SoAudioDevice * | instance ()

## Detailed Description

The SoAudioDevice class is used to control an audio device.

The SoAudioDevice class is responsible for initialization of an audio device, as well as enabling and disabling sound. It is a singleton class.

The application programmer does not need to use this class directly, as audio support is enabled by default, and the default settings are reasonable.

Coin uses OpenAL (http://www.openal.org/, http://developer.soundblaster.com [Games section]) to render audio. OpenAL should work with any soundcard, and on most modern operating systems (including Unix, Linux, IRIX, *BSD, Mac OS X and Microsoft Windows). 2 speaker output is always available, and on some OS and soundcard combinations, more advanced speaker configurations are supported. On Microsoft Windows, OpenAL can use DirectSound3D to render audio, thus supporting any speaker configuration the current DirectSound3D driver supports. Configuring speakers are done through the soundcard driver, and is transparent to both Coin and OpenAL.

## Member Function Documentation

## ◆ instance()

SoAudioDevice * SoAudioDevice::instance | ( |  | ) |
| static

Returns a pointer to the SoAudioDevice class, which is a singleton.

## ◆ init()

SbBool SoAudioDevice::init | ( | const SbString & | devicetype,
|  | const SbString & | devicename )

Initializes the audio device. Currently, the only supported devicetype is "OpenAL". The supported devicename depends on the OS and on installed sound cards and drivers. On Microsoft Windows, supported device names are "DirectSound3D", "DirectSound", and "MMSYSTEM". See OpenAL documentation (available from http://www.openal.org/) for further information.

The application programmer may override the default setting by calling this method with the wanted device type and name.

The user can also control which devicename OpenAL uses by setting the COIN_SOUND_DRIVER_NAME environment variable. On Microsoft Windows, the default driver name is "DirectSound3D", which should normally be what the user wants.

## ◆ enable()

SbBool SoAudioDevice::enable | ( |  | ) |

Enables sound

## ◆ disable()

void SoAudioDevice::disable | ( |  | ) |

Disables sound. Effectively silencing all audio output.

## ◆ isEnabled()

SbBool SoAudioDevice::isEnabled | ( |  | ) |

Returns TRUE if audio is enabled.

## ◆ haveSound()

SbBool SoAudioDevice::haveSound | ( |  | ) |

Returns true if the audio device has been initialized successfully.

The documentation for this class was generated from the following files:

- SoAudioDevice.h
- SoAudioDevice.cpp