CtlAudioMgr.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #include "AudioEngine.h"
  2. #include "CtlAudioMgr.h"
  3. #include "RedWise.hpp"
  4. #include "CocosConfig.h"
  5. #include "cocos2d.h"
  6. using namespace cocos2d::experimental;
  7. NS_RU_BEGIN
  8. #define KEY_MUSIC_ENABLE "user.music.switch"
  9. #define KEY_SOUND_ENABLE "user.sound.switch"
  10. static CtlAudioMgr* g_CtlAudioMgr = nullptr;
  11. CtlAudioMgr* CtlAudioMgr::getInstance() {
  12. if (g_CtlAudioMgr == nullptr) {
  13. g_CtlAudioMgr = new (std::nothrow) CtlAudioMgr;
  14. }
  15. return g_CtlAudioMgr;
  16. }
  17. CtlAudioMgr::CtlAudioMgr() {
  18. }
  19. CtlAudioMgr::~CtlAudioMgr() {
  20. }
  21. bool CtlAudioMgr::getSoundEnabled() {
  22. return UserDefault::getInstance()->getBoolForKey(KEY_SOUND_ENABLE, true);
  23. }
  24. bool CtlAudioMgr::getMusicEnabled() {
  25. return UserDefault::getInstance()->getBoolForKey(KEY_MUSIC_ENABLE, true);
  26. }
  27. void CtlAudioMgr::setMusicEnabled(bool flag) {
  28. UserDefault::getInstance()->setBoolForKey(KEY_MUSIC_ENABLE, flag);
  29. }
  30. void CtlAudioMgr::setSoundEnabled(bool flag) {
  31. UserDefault::getInstance()->setBoolForKey(KEY_SOUND_ENABLE, flag);
  32. }
  33. void CtlAudioMgr::stopMusic() {
  34. if (_musicEnabled) {
  35. playEffect(_lastMusic + "end");
  36. }
  37. }
  38. void CtlAudioMgr::playEffect(const string& effect) {
  39. if (_soundEnabled) {
  40. RedWise::getInstance()->postEvent(effect);
  41. }
  42. }
  43. void CtlAudioMgr::playMusic(const string& music) {
  44. if (_musicEnabled) {
  45. _lastMusic = music;
  46. playEffect(_lastMusic + "start");
  47. }
  48. }
  49. NS_RU_END