AudioController.h 957 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef AUDIOCONTROLLER_H_
  2. #define AUDIOCONTROLLER_H_
  3. namespace gameplay
  4. {
  5. class AudioListener;
  6. class AudioSource;
  7. /**
  8. * Defines a class for controlling game audio.
  9. */
  10. class AudioController
  11. {
  12. friend class Game;
  13. friend class AudioSource;
  14. public:
  15. /**
  16. * Destructor.
  17. */
  18. virtual ~AudioController();
  19. private:
  20. /**
  21. * Constructor.
  22. */
  23. AudioController();
  24. /**
  25. * Controller initialize.
  26. */
  27. void initialize();
  28. /**
  29. * Controller finalize.
  30. */
  31. void finalize();
  32. /**
  33. * Controller pause.
  34. */
  35. void pause();
  36. /**
  37. * Controller resume.
  38. */
  39. void resume();
  40. /**
  41. * Controller update.
  42. */
  43. void update(float elapsedTime);
  44. ALCdevice* _alcDevice;
  45. ALCcontext* _alcContext;
  46. std::set<AudioSource*> _playingSources;
  47. AudioSource* _pausingSource;
  48. };
  49. }
  50. #endif