Load_SoundSettings_And_Init_Audio(
"AudioSettings.txt");
[...]
Shutdown_Audio();
"AudioSettings.txt");
[...]
Shutdown_Audio();
Soundeffekte statisch in den Speicher laden und wieder freigeben:
/*
// Soundeffekte einzeln laden:
Set_MaxNumberOfSoundEffects(10);
Add_New_SoundEffect(0, "../SoundAndMusic/DistantCollision1.wav",
5, 60.0f, 1.0f, 1.0f, 0);
Add_New_SoundEffect(1, "../SoundAndMusic/DistantCollision2.wav",
5, 60.0f, 1.0f, 1.0f, 0);
[...]
*/
// alle Soundeffekte laden, die in der Datei SoundEffects.txt aufgelistet
// sind:
Load_SoundEffectList("../SoundAndMusic/SoundEffects.txt",
"../SoundAndMusic/");
// Soundeffekte einzeln laden:
Set_MaxNumberOfSoundEffects(10);
Add_New_SoundEffect(0, "../SoundAndMusic/DistantCollision1.wav",
5, 60.0f, 1.0f, 1.0f, 0);
Add_New_SoundEffect(1, "../SoundAndMusic/DistantCollision2.wav",
5, 60.0f, 1.0f, 1.0f, 0);
[...]
*/
// alle Soundeffekte laden, die in der Datei SoundEffects.txt aufgelistet
// sind:
Load_SoundEffectList("../SoundAndMusic/SoundEffects.txt",
"../SoundAndMusic/");
[...]
Delete_SoundEffectList();
Musik-Trackliste laden und freigeben:
MusicTracks = new CMusicTracks;
MusicTracks->Load_TrackList("../SoundAndMusic/MusicTracks.txt",
"../SoundAndMusic/");
[...]
SAFE_DELETE(MusicTracks)
MusicTracks->Load_TrackList("../SoundAndMusic/MusicTracks.txt",
"../SoundAndMusic/");
[...]
SAFE_DELETE(MusicTracks)
Musik abspielen (Audio Streaming), zufälligen Titel aus der Trackliste auswählen:
MusicTracks->Start_RandomMusicTrack();
[...]
// neuen Titel auswählen und abspielen, wenn der vorangehende Titel beendet
// ist:
MusicTracks->Update();
[...]
// neuen Titel auswählen und abspielen, wenn der vorangehende Titel beendet
// ist:
MusicTracks->Update();
Soundeffekt positionieren und mit aktuell gewähltem Reverb-Effekt abspielen:
// Kollision:
absDistance = fabs(Asteroid[Asteroid_ID2].PlayerViewDirectionDistance);
if(absDistance < g_Max3DSoundDistance)
{
if(absDistance < g_MaxImmediate3DSoundDistance)
{
SoundEffectID = lrnd(0, 2);
SourceID = Play_SoundEffect_Immediately(&g_matView, SoundEffectID,
&Asteroid[Asteroid_ID2].CameraSpacePosition,
&g_NullVector, true /*Reverb*/);
}
else
{
SoundEffectID = lrnd(0, 2);
SourceID = Play_SoundEffect(&g_matView, SoundEffectID,
&Asteroid[Asteroid_ID2].CameraSpacePosition,
&g_NullVector, true /*Reverb*/);
}
}
absDistance = fabs(Asteroid[Asteroid_ID2].PlayerViewDirectionDistance);
if(absDistance < g_Max3DSoundDistance)
{
if(absDistance < g_MaxImmediate3DSoundDistance)
{
SoundEffectID = lrnd(0, 2);
SourceID = Play_SoundEffect_Immediately(&g_matView, SoundEffectID,
&Asteroid[Asteroid_ID2].CameraSpacePosition,
&g_NullVector, true /*Reverb*/);
}
else
{
SoundEffectID = lrnd(0, 2);
SourceID = Play_SoundEffect(&g_matView, SoundEffectID,
&Asteroid[Asteroid_ID2].CameraSpacePosition,
&g_NullVector, true /*Reverb*/);
}
}