00001 #ifndef COIN_SOAUDIODEVICE_H
00002 #define COIN_SOAUDIODEVICE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <Inventor/SbString.h>
00028 #include <Inventor/actions/SoGLRenderAction.h>
00029 #include <Inventor/actions/SoAudioRenderAction.h>
00030
00031 class SoAudioDeviceP;
00032
00033 class COIN_DLL_API SoAudioDevice {
00034 public:
00035 static SoAudioDevice *instance();
00036 SbBool init(const SbString &devicetype, const SbString &devicename);
00037 SbBool enable();
00038 void disable();
00039 SbBool isEnabled();
00040 SbBool haveSound();
00041 void setGain(float gain);
00042 void mute(SbBool mute=TRUE);
00043 void cleanup();
00044
00045 private:
00046 SoAudioDevice();
00047 ~SoAudioDevice();
00048 SoAudioDevice(const SoAudioDevice &);
00049 const SoAudioDevice & operator=(const SoAudioDevice &);
00050
00051 SoAudioDeviceP *pimpl;
00052 friend class SoAudioDeviceP;
00053 };
00054
00055 #endif // !COIN_SOAUDIODEVICE_H