# SoAudioDevice Class Reference
[General classes, 3D sound support]

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

List of all members.

## 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 allways 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.

## 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)
void | cleanup ()

## Static Public Member Functions

SoAudioDevice * | instance ()

## Friends

class | SoAudioDeviceP

## Member Function Documentation

SoAudioDevice * SoAudioDevice::instance | ( |  | ) | `[static]`

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

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 soundcards 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.

This function is called by SoDB::init(). The user can control which devicename SoDB::init() 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.

SbBool SoAudioDevice::enable | ( |  | ) |

| Enables sound

void SoAudioDevice::disable | ( |  | ) |

| Disables sound. Effectively silencing all audio output.

SbBool SoAudioDevice::isEnabled | ( |  | ) |

| Returns TRUE if audio is enabled.

SbBool SoAudioDevice::haveSound | ( |  | ) |

| returns true if the audio device has been initialized successfully.

void SoAudioDevice::cleanup | ( | void |  | ) |

| Cleans up any allocated resources.

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

- SoAudioDevice.h
- SoAudioDevice.cpp