mirror of https://github.com/axmolengine/axmol.git
issue #182
This commit is contained in:
parent
78a93db918
commit
0397ea0a74
|
@ -1,7 +1,7 @@
|
|||
|
||||
############################################################################
|
||||
#
|
||||
# Makefile for building : SimpleAudioEngine_Arm.TMK3
|
||||
# Makefile for building : SimpleAudioEngine_Arm_uphone.TMK3
|
||||
# Created by TMK3_V2.3, please do not modify.
|
||||
#
|
||||
#############################################################################
|
||||
|
@ -27,10 +27,10 @@ MKDIR = mkdir -p
|
|||
first: all
|
||||
|
||||
OBJECTS = \
|
||||
$(OBJECTS_DIR)/SoundDataManager.o \
|
||||
$(OBJECTS_DIR)/ResourceHandle.o \
|
||||
$(OBJECTS_DIR)/SoundPlayer.o \
|
||||
$(OBJECTS_DIR)/SimpleAudioEngine.o
|
||||
$(OBJECTS_DIR)/SimpleAudioEngine.o \
|
||||
$(OBJECTS_DIR)/SoundDataManager.o \
|
||||
$(OBJECTS_DIR)/SoundPlayer.o
|
||||
|
||||
ADD_OBJECTS +=
|
||||
|
||||
|
@ -49,15 +49,15 @@ clean :
|
|||
-$(DEL_FILE) $(OBJECTS)
|
||||
-$(DEL_FILE) $(TARGET)
|
||||
|
||||
$(OBJECTS_DIR)/SoundDataManager.o : ./include/SoundDataManager.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/SoundDataManager.o ./include/SoundDataManager.cpp
|
||||
$(OBJECTS_DIR)/ResourceHandle.o : ./uphone/ResourceHandle.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/ResourceHandle.o ./uphone/ResourceHandle.cpp
|
||||
|
||||
$(OBJECTS_DIR)/ResourceHandle.o : ./Platform/uPhone/ResourceHandle.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/ResourceHandle.o ./Platform/uPhone/ResourceHandle.cpp
|
||||
$(OBJECTS_DIR)/SimpleAudioEngine.o : ./uphone/SimpleAudioEngine.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/SimpleAudioEngine.o ./uphone/SimpleAudioEngine.cpp
|
||||
|
||||
$(OBJECTS_DIR)/SoundPlayer.o : ./Platform/uPhone/SoundPlayer.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/SoundPlayer.o ./Platform/uPhone/SoundPlayer.cpp
|
||||
$(OBJECTS_DIR)/SoundDataManager.o : ./uphone/SoundDataManager.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/SoundDataManager.o ./uphone/SoundDataManager.cpp
|
||||
|
||||
$(OBJECTS_DIR)/SimpleAudioEngine.o : ./SimpleAudioEngine/SimpleAudioEngine.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/SimpleAudioEngine.o ./SimpleAudioEngine/SimpleAudioEngine.cpp
|
||||
$(OBJECTS_DIR)/SoundPlayer.o : ./uphone/SoundPlayer.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/SoundPlayer.o ./uphone/SoundPlayer.cpp
|
||||
|
||||
|
|
|
@ -63,9 +63,15 @@ public:
|
|||
bool isBackgroundMusicPlaying();
|
||||
|
||||
// properties
|
||||
/**
|
||||
@brief The volume of the background music max value is 100,the min value is 0
|
||||
*/
|
||||
int GetBackgroundMusicVolume();
|
||||
void SetBackgroundMusicVolume(int volume);
|
||||
|
||||
/**
|
||||
@brief The volume of the effects max value is 100,the min value is 0
|
||||
*/
|
||||
int GetEffectsVolume();
|
||||
void SetEffectsVolume(int volume);
|
||||
|
||||
|
@ -96,11 +102,6 @@ public:
|
|||
@param[in] nSoundId the sound id returned from preloadEffect
|
||||
*****************************************************************************/
|
||||
void playPreloadedEffect(int nSoundId);
|
||||
|
||||
protected:
|
||||
int m_nBackgroundMusicVolume;
|
||||
int m_nEffectsVolume;
|
||||
bool m_bWillPlayBackgroundMusic;
|
||||
};
|
||||
|
||||
#endif // _SIMPLE_AUDIO_ENGINE_H_
|
||||
|
|
|
@ -13,6 +13,11 @@ static PlayerArray *s_pEffectPlayers = NULL;
|
|||
static SoundDataManager *s_pDataManager = NULL;
|
||||
static SoundPlayer *s_pBackPlayer = NULL;
|
||||
|
||||
|
||||
static int s_nBackgroundMusicVolume = 100;
|
||||
static int s_nEffectsVolume = 100;
|
||||
static bool s_bWillPlayBackgroundMusic = false;
|
||||
|
||||
void removeAllEffectPlayers()
|
||||
{
|
||||
PlayerArrayIterator iter;
|
||||
|
@ -30,21 +35,20 @@ void removeAllEffectPlayers()
|
|||
}
|
||||
|
||||
SimpleAudioEngine::SimpleAudioEngine()
|
||||
: m_nBackgroundMusicVolume(100)
|
||||
, m_nEffectsVolume(100)
|
||||
, m_bWillPlayBackgroundMusic(false)
|
||||
{
|
||||
if (s_pEffectPlayers)
|
||||
{
|
||||
removeAllEffectPlayers();
|
||||
}
|
||||
s_pEffectPlayers = new PlayerArray();
|
||||
SetEffectsVolume(s_nEffectsVolume);
|
||||
|
||||
if (s_pBackPlayer)
|
||||
{
|
||||
delete s_pBackPlayer;
|
||||
}
|
||||
s_pBackPlayer = new SoundPlayer();
|
||||
SetBackgroundMusicVolume(s_nBackgroundMusicVolume);
|
||||
|
||||
if (s_pDataManager)
|
||||
{
|
||||
|
@ -131,7 +135,7 @@ void SimpleAudioEngine::rewindBackgroundMusic()
|
|||
|
||||
bool SimpleAudioEngine::willPlayBackgroundMusic()
|
||||
{
|
||||
return m_bWillPlayBackgroundMusic;
|
||||
return s_bWillPlayBackgroundMusic;
|
||||
}
|
||||
|
||||
bool SimpleAudioEngine::isBackgroundMusicPlaying()
|
||||
|
@ -149,26 +153,44 @@ bool SimpleAudioEngine::isBackgroundMusicPlaying()
|
|||
// properties
|
||||
int SimpleAudioEngine::GetBackgroundMusicVolume()
|
||||
{
|
||||
return m_nBackgroundMusicVolume;
|
||||
return s_nBackgroundMusicVolume;
|
||||
}
|
||||
|
||||
void SimpleAudioEngine::SetBackgroundMusicVolume(int volume)
|
||||
{
|
||||
if (volume > 100)
|
||||
{
|
||||
volume = 100;
|
||||
}
|
||||
else if (volume < 0)
|
||||
{
|
||||
volume = 0;
|
||||
}
|
||||
|
||||
if (s_pBackPlayer)
|
||||
{
|
||||
s_pBackPlayer->SetVolumeValue(volume);
|
||||
}
|
||||
|
||||
m_nBackgroundMusicVolume = volume;
|
||||
s_nBackgroundMusicVolume = volume;
|
||||
}
|
||||
|
||||
int SimpleAudioEngine::GetEffectsVolume()
|
||||
{
|
||||
return m_nEffectsVolume;
|
||||
return s_nEffectsVolume;
|
||||
}
|
||||
|
||||
void SimpleAudioEngine::SetEffectsVolume(int volume)
|
||||
{
|
||||
if (volume > 100)
|
||||
{
|
||||
volume = 100;
|
||||
}
|
||||
else if (volume < 0)
|
||||
{
|
||||
volume = 0;
|
||||
}
|
||||
|
||||
PlayerArrayIterator iter;
|
||||
|
||||
for (iter = s_pEffectPlayers->begin(); iter != s_pEffectPlayers->end(); ++iter)
|
||||
|
@ -179,7 +201,7 @@ void SimpleAudioEngine::SetEffectsVolume(int volume)
|
|||
}
|
||||
}
|
||||
|
||||
m_nEffectsVolume = volume;
|
||||
s_nEffectsVolume = volume;
|
||||
}
|
||||
|
||||
|
||||
|
@ -253,7 +275,7 @@ void SimpleAudioEngine::playPreloadedEffect(int nSoundId)
|
|||
s_pEffectPlayers->push_back(pPlayer);
|
||||
|
||||
// set the player volume
|
||||
pPlayer->SetVolumeValue(m_nEffectsVolume);
|
||||
pPlayer->SetVolumeValue(s_nEffectsVolume);
|
||||
}
|
||||
|
||||
// play the sound and record the player
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include <map>
|
||||
#include "uthash.h"
|
||||
#include "SimpleAudioEngine.h"
|
||||
#include <string>
|
||||
|
||||
typedef struct _hashElement
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue