irrKlang
irrKlang is a cross platform audio library designed to be used in games, scientific simulations and similar.
It is a high level 2D and 3D cross platform (Windows, Mac OS X, Linux) sound engine and audio library which
plays WAV, MP3, OGG, MOD, XM, IT, S3M and more file formats, and is
usable in
C++ and all .NET languages (C#, VisualBasic.NET, etc). It has all the features known
from low level audio libraries as well as lots of useful features like a sophisticated
streaming engine, extendable audio reading,
single and multithreading modes, 3d audio emulation for low end hardware, a plugin
system, multiple rolloff models and more. All this can be accessed via an extremely simple API.
irrKlang is free for non commercial use. There is also an advanced version of irrKlang
named 'irrKlang pro' which can be purchased for a small license fee
and may be used in commercial products.
Latest News
irrKlang 1.0.4 released. New:
Audio recording for Windows, PCM sound sources, minor bug fixes. See change log for details, or download irrKlang 1.0.4 now.
23 Jan 08
irrKlang 1.0.3 released.
irrKlang now runs also on Power PCs (Mac OS) and includes other new features such as: Sound device enumeration and
selection, sound stop event reciever reasons, reduced ALSA driver latency, audio format retrieval for .NET,
and various bug fixes.
See change log for details, or download irrKlang 1.0.3 now.
03 Dec 07
irrKlang 1.0.2 released. Changes:
Major feature enhancements such as setPlayPosition(), ALSA, WinMM and CoreAudio devices now
support setPlaybackSpeed(), rolloff factor for 3D sounds, audio file format information
retrieval, improved C++ interface (namespace handling etc), new examples,
bug fixes and a lot of minor new features.
See change log for details, or download irrKlang 1.0.2 now.
05 Nov 07
For older news entries, please take a look at the News archive.
Example using irrKlang in C++
This C++ example code shows how to play an mp3 file:
#include <iostream> #include <irrKlang.h> using namespace irrklang;
int main(int argc, const char** argv)
{
// start the sound engine with default parameters
ISoundEngine* engine = createIrrKlangDevice();
if (!engine) return 0; // error starting up the engine
// play some sound stream, looped
engine->play2D("somefile.mp3", true);
char i = 0;
std::cin >> i; // wait for user to press some key
engine->drop(); // delete engine
return 0;
}
This code works on all supported platforms (currently Windows, Linux and MacOSX).
For more examples and information about using irrKlang in C++, take a look at the
irrKlang C++ API documentation.
Example using irrKlang in C#
The following example was written in C# and shows how to play an mp3 file:
using IrrKlang;
namespace HelloWorld
{
class Example
{
[STAThread]
static void Main(string[] args)
{
// start up the engine
ISoundEngine engine = new ISoundEngine();
// play a sound file
engine.play2D("somefile.mp3");
// wait until user presses ok to end application
System.Windows.Forms.MessageBox.Show("Playing, press ok to end.");
} // end main()
} // end class
} // end namespace
For more examples and information about using irrKlang in .NET languages like C#, VisualBasic, Delphi.NET
and similar take a look at the
irrKlang .NET API documentation.
|