IrrKlang.NET

IrrKlang Namespace

the main namespace where every class of the sound engine can be found

Namespace hierarchy

Classes

Class Description
IAudioRecorder Interface to an audio recorder.
ISound Represents a sound which is currently played. You can stop the sound or change the volume or whatever using this interface. Don't create sounds using new ISound, this won't work anyway. You can get an instance of an ISonud class by calling ISoundEngine::Play2D or Play3D.
ISoundDeviceList A list of sound devices for a sound driver. Use irrklang::createSoundDeviceList() to create this list. The function createIrrKlangDevice() has a parameter 'deviceID' which takes the value returned by ISoundDeviceList::getDeviceID() and uses that device then. The list of devices in ISoundDeviceList usually also includes the default device which is the first entry and has an empty deviceID string ("") and the description "default device".*/
ISoundEffectControl Interface to control the active sound effects (echo, reverb,...) of an ISound object, a playing sound. Sound effects such as chorus, distorsions, echo, reverb and similar can be controlled using this. An instance of this interface can be obtained via ISound::getSoundEffectControl(). The sound containing this interface has to be started via ISoundEngine::play2D() or ISoundEngine::play3D() with the flag enableSoundEffects=true, otherwise no acccess to this interface will be available. For the DirectSound driver, these are effects available since DirectSound8. For most effects, sounds should have a sample rate of 44 khz and should be at least 150 milli seconds long for optimal quality when using the DirectSound driver.
ISoundEngine  
ISoundSource A sound source describes an input file (.ogg, .mp3 or .wav) and its default settings. It provides some informations about the sound source like the play lenght and can have default settings for volume, distances for 3d etc.

Interfaces

Interface Description
IFileFactory Interface to overwrite opening files. Derive your own class from IFileFactory, overwrite the openFile() method and return your own System::IO::Stream to overwrite file access of irrKlang. Use ISoundEngine::addFileFactory() to let irrKlang know about your class. Example code can be found in the tutorial 04.OverrideFileAccess.
ISoundStopEventReceiver Interface to be implemented by the user, which recieves sound stop events. The interface has only one method to be implemented by the user: OnSoundStopped(). Implement this interface and set it via ISound::setSoundStopEventReceiver(). The sound stop event is guaranteed to be called when a sound or sound stream is finished, either because the sound reached its playback end, its sound source was removed, ISoundEngine::stopAllSounds() has been called or the whole engine was deleted.

Structures

Structure Description
AudioFormat  
EventForwarder Internal class, do not use.
FileFactoryForwarder Internal class, do not use.
StreamForwarder Internal class, do not use.
Vector3D 3d vector class with lots of operators and methods. This class has been ported directly from the native C++ Irrlicht Engine, so it may not be 100% complete yet and the design may not be 100% .NET like.

Enumerations

Enumeration Description
SampleFormat  
SoundDeviceListType type of a sound device list
SoundEngineOptionFlag An enumeration for all options for starting up the sound engine When using createSoundEngine, use a combination of this these options parameter to start up the engine.
SoundOutputDriver An enum for all types of output drivers irrKlang supports.
StopEventCause An enumeration listing all reasons for a fired sound stop event
StreamMode An enum for all types of output stream modes