SDL Audio
-
Ich möchte mich in die Tonausgabe mit der SDL einarbeiten und frage mich (euch) in welche Richtung ich gehen soll:
- SDL_mixer (http://www.libsdl.org/projects/SDL_mixer/)
- SDL_sound (http://icculus.org/SDL_sound/)Wo liegen die Unterschiede zwischen den beiden?
Welches ist einfach zu handhaben?
Gibt es sonstige nennenswerte Vor- oder Nachteile?
Gibt es nennenswerte Alternativen zu den beiden?
-
Ich habe mich nun für SDL_mixer entschieden und kann schonmal soviel sagen: Der Einstieg fällt sehr leicht.
-
hatte mit SDL_mixer auch wenig probleme
-
Nun habe ich ein Problem, auch wenn es wohl mehr C++Allgemein als SDL_mixerSpezifisch ist. Ich möchte mir eine Klasse bauen, die sich komplett um den Audioteil meines Programms kümmert.
Für die Musik gibt es dabei folgende 2 Funktionenen:void SoundOutput::PlayMusic(const char *pMusicFile, int pLoops) { if(mMusic != NULL) this->StopMusic(); mMusic = Mix_LoadMUS(pMusicFile); Mix_PlayMusic(mMusic, pLoops); Mix_HookMusicFinished(StopMusic); } void SoundOutput::StopMusic() { Mix_HaltMusic(); Mix_FreeMusic(mMusic); mMusic = NULL; }Die Zeile Mix_HookMusicFinished(StopMusic); sollte den Sinn haben, dass die Funktion void SoundOutput::StopMusic(); aufgerufen wird, wenn das Abspielen der Musik fertig ist. Die Funktion Mix_HookMusicFinished ist dabei wie folgt definiert:
void Mix_HookMusicFinished(void (*music_finished)())Sie soll also einen Funktionszeiger bekommen und ich denke, ich kann ich nicht einfach eine Memberfunktion meiner Klasse übergeben. Aber wie kann ich das sonst hinbekommen?
-
→ Hat sich erledigt. ←