1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #ifndef SOUNDERER_H_INCLUDED
- #define SOUNDERER_H_INCLUDED
- #include <iostream>
- #include <string>
- #include <map>
- #include <SDL/SDL.h>
- #include <SDL/SDL_mixer.h>
- #define EXT_WAV 0
- #define EXT_OGG 1
- #define INFINITY_LOOP -1
- class Sounderer
- {
- public:
- Sounderer();
- Sounderer(std::string folder);
- ~Sounderer();
- bool init();// à appeler avant utilisation
- bool preLoad(std::string nom, short extension = EXT_WAV);// Précharge le son pour accélerer sa premièrer lecture [!] Dossier et extension auto
- bool play(std::string nom, int repetition = 0);// Joue le son choisi, le charge automatiquement si pas encore chargé
- bool fadePlay(std::string nom, int crescendoLenght, int repetition = 0);// Démarre le son par un crescendo d'une longueur voulue
- bool stop(std::string nom);// Stoppe le son choisi
- void stopAll();
- void assignFolder(std::string folder);// Situe le dossier où sont contenus les sons
- private:
- int m_lastCanal;
- std::string m_folder;
- std::map<std::string, int> m_channel;//Channel on which our sound is played
- std::map<std::string, Mix_Chunk*>::iterator m_it;
- std::map<std::string, Mix_Chunk*> m_paquet;
- int m_rate;// = 22050 : Frequency of audio playback
- Uint16 m_format;// = AUDIO_S16SYS : Format of the audio we're playing
- int m_nbChannels;// = 2 : 2 channels = stereo
- int m_bufferSize;// = 4096 : Size of the audio buffers in memory
- };
- #endif // SOUNDERER_H_INCLUDED
|