41 lines
1.1 KiB
Markdown
41 lines
1.1 KiB
Markdown
|
This is FineAudio, a replacement for FNA's Audio subsystem.
|
||
|
|
||
|
About FineAudio
|
||
|
----------------
|
||
|
FineAudio is basically MoonWorks Audio with an FNA dependency.
|
||
|
It intends to deal with some of the missing pieces of XNA audio and make it easier to use.
|
||
|
|
||
|
Usage
|
||
|
-----
|
||
|
Create the AudioDevice:
|
||
|
|
||
|
```cs
|
||
|
AudioDevice = new FineAudio.AudioDevice();
|
||
|
```
|
||
|
|
||
|
Load your sound effects and music:
|
||
|
```cs
|
||
|
StaticSound.Load(AudioSystem, "sword.wav");
|
||
|
StreamingSoundOgg.Load(AudioSystem, "my_song.ogg");
|
||
|
```
|
||
|
|
||
|
Sound playback is controlled via sound instances.
|
||
|
Streaming sounds are already instances, but static sounds need to have instances created from them.
|
||
|
|
||
|
```cs
|
||
|
var swordSound = StaticSound.LoadWav(AudioSystem, "sword.wav");
|
||
|
var swordSoundInstance = swordSound.GetInstance();
|
||
|
swordSoundInstance.Play();
|
||
|
|
||
|
MySong = StreamingSoundOgg.Load(AudioSystem, "my_song.ogg");
|
||
|
MySong.Play();
|
||
|
```
|
||
|
|
||
|
You are responsible for managing these instances!
|
||
|
If you lose track of sound instances, unpredictable things will happen,
|
||
|
like sudden interruption of playback or memory leaks.
|
||
|
|
||
|
License
|
||
|
-------
|
||
|
FineAudio is licensed under the zlib license. See LICENSE for details.
|