GamePlayMusicPlayer.instance_ = nil;
function GamePlayMusicPlayer:ctor()
self.m_IsMusicOpen = 1;
self.m_IsEffectOpen = 1;
self.m_last_groundMusic = "";
end
function GamePlayMusicPlayer:getInstance()
if GamePlayMusicPlayer.instance_ == nil then
GamePlayMusicPlayer.instance_ = GamePlayMusicPlayer.new();
GamePlayMusicPlayer.instance_:initMusicSystem();
end
return GamePlayMusicPlayer.instance_;
end
function GamePlayMusicPlayer:initMusicSystem()
-------预加载音乐
-------预处理开关
----读取以前的设置
self.m_IsMusicOpen = GameInfo_Lua:getIntegerForKey_default("Music", 1) ----没有读取到,默认为打开
self.m_IsEffectOpen = GameInfo_Lua:getIntegerForKey_default("Effect", 1) ----没有读取到,默认为打开
end
----预加载背景音乐
function GamePlayMusicPlayer:preloadBackgroundMusic(filename)
local fullPath = getMusicFilePath(filename)
if fullPath == "" then fullPath = filename end;
SimpleAudioEngine:sharedEngine():preloadBackgroundMusic(fullPath);
end
----播放音效
----level声音等级,当同时需要播放几个声音时,优先播放等级高的----暂定
function GamePlayMusicPlayer:playEffect(filename, level)
if GamePlayMusicPlayer:getInstance().m_IsEffectOpen > 0 then
--print("GamePlayMusicPlayer:playEffect",filename);
local fullPath = getMusicFilePath(filename)
if fullPath == "" then fullPath = filename end;
SimpleAudioEngine:sharedEngine():playEffect(fullPath);
end
end
----播放背景音乐
----一般情况下,请忽略notRecard参数,或者写false
function GamePlayMusicPlayer:playBackgroundMusic(filename, notRecard)
if not notRecard then
----记录最后改播放的music
GamePlayMusicPlayer:getInstance().m_last_groundMusic = filename;
end
----判断是否要播放
local isMusicOpen = GamePlayMusicPlayer:getInstance().m_IsMusicOpen;
if isMusicOpen > 0 then
if filename ~= "" then
local fullPath = getMusicFilePath(filename)
if fullPath == "" then fullPath = filename end;
SimpleAudioEngine:sharedEngine():playBackgroundMusic(fullPath, true);
end
end
end
function GamePlayMusicPlayer:stopBackgroundMusic()
SimpleAudioEngine:sharedEngine():stopBackgroundMusic();
end
------设置背景音开启关闭状态
function GamePlayMusicPlayer:setIsBackgroundMusicOpen(isOpen)
----内存修改
if type(isOpen) == "boolean" then
if isOpen == true then self.m_IsMusicOpen = 1;
else self.m_IsMusicOpen = -1; end
else
self.m_IsMusicOpen = isOpen;
end
----记录修改
local rt = 1;
if isOpen then rt = 1 else rt = -1 end
CCUserDefault:sharedUserDefault():setIntegerForKey("Music", rt);
CCUserDefault:sharedUserDefault():flush();
----播放效果修改
if isOpen then
self:playBackgroundMusic(self.m_last_groundMusic, true);----播放最后应该播放的那个音乐,且不记录
else
self:stopBackgroundMusic();----关闭当前音乐
end
end
function GamePlayMusicPlayer:getIsBackgroundMusicOpen()
if self.m_IsMusicOpen > 0 then return true
else return false end
end
------设置音效开启关闭状态
function GamePlayMusicPlayer:setIsEffectMusicOpen(isOpen)
----内存修改
if type(isOpen) == "boolean" then
if isOpen == true then self.m_IsEffectOpen = 1;
else self.m_IsEffectOpen = -1; end
else
self.m_IsEffectOpen = isOpen;
end
----记录修改
local rt = 1;
if isOpen then rt = 1 else rt = -1 end
CCUserDefault:sharedUserDefault():setIntegerForKey("Effect", rt);
CCUserDefault:sharedUserDefault():flush();
----接下来有音效就对了,这里啥也不用做
end
function GamePlayMusicPlayer:getIsEffectMusicOpen()
if self.m_IsEffectOpen > 0 then return true
else return false end
end
function GamePlayMusicPlayer:ctor()
self.m_IsMusicOpen = 1;
self.m_IsEffectOpen = 1;
self.m_last_groundMusic = "";
end
function GamePlayMusicPlayer:getInstance()
if GamePlayMusicPlayer.instance_ == nil then
GamePlayMusicPlayer.instance_ = GamePlayMusicPlayer.new();
GamePlayMusicPlayer.instance_:initMusicSystem();
end
return GamePlayMusicPlayer.instance_;
end
function GamePlayMusicPlayer:initMusicSystem()
-------预加载音乐
-------预处理开关
----读取以前的设置
self.m_IsMusicOpen = GameInfo_Lua:getIntegerForKey_default("Music", 1) ----没有读取到,默认为打开
self.m_IsEffectOpen = GameInfo_Lua:getIntegerForKey_default("Effect", 1) ----没有读取到,默认为打开
end
----预加载背景音乐
function GamePlayMusicPlayer:preloadBackgroundMusic(filename)
local fullPath = getMusicFilePath(filename)
if fullPath == "" then fullPath = filename end;
SimpleAudioEngine:sharedEngine():preloadBackgroundMusic(fullPath);
end
----播放音效
----level声音等级,当同时需要播放几个声音时,优先播放等级高的----暂定
function GamePlayMusicPlayer:playEffect(filename, level)
if GamePlayMusicPlayer:getInstance().m_IsEffectOpen > 0 then
--print("GamePlayMusicPlayer:playEffect",filename);
local fullPath = getMusicFilePath(filename)
if fullPath == "" then fullPath = filename end;
SimpleAudioEngine:sharedEngine():playEffect(fullPath);
end
end
----播放背景音乐
----一般情况下,请忽略notRecard参数,或者写false
function GamePlayMusicPlayer:playBackgroundMusic(filename, notRecard)
if not notRecard then
----记录最后改播放的music
GamePlayMusicPlayer:getInstance().m_last_groundMusic = filename;
end
----判断是否要播放
local isMusicOpen = GamePlayMusicPlayer:getInstance().m_IsMusicOpen;
if isMusicOpen > 0 then
if filename ~= "" then
local fullPath = getMusicFilePath(filename)
if fullPath == "" then fullPath = filename end;
SimpleAudioEngine:sharedEngine():playBackgroundMusic(fullPath, true);
end
end
end
function GamePlayMusicPlayer:stopBackgroundMusic()
SimpleAudioEngine:sharedEngine():stopBackgroundMusic();
end
------设置背景音开启关闭状态
function GamePlayMusicPlayer:setIsBackgroundMusicOpen(isOpen)
----内存修改
if type(isOpen) == "boolean" then
if isOpen == true then self.m_IsMusicOpen = 1;
else self.m_IsMusicOpen = -1; end
else
self.m_IsMusicOpen = isOpen;
end
----记录修改
local rt = 1;
if isOpen then rt = 1 else rt = -1 end
CCUserDefault:sharedUserDefault():setIntegerForKey("Music", rt);
CCUserDefault:sharedUserDefault():flush();
----播放效果修改
if isOpen then
self:playBackgroundMusic(self.m_last_groundMusic, true);----播放最后应该播放的那个音乐,且不记录
else
self:stopBackgroundMusic();----关闭当前音乐
end
end
function GamePlayMusicPlayer:getIsBackgroundMusicOpen()
if self.m_IsMusicOpen > 0 then return true
else return false end
end
------设置音效开启关闭状态
function GamePlayMusicPlayer:setIsEffectMusicOpen(isOpen)
----内存修改
if type(isOpen) == "boolean" then
if isOpen == true then self.m_IsEffectOpen = 1;
else self.m_IsEffectOpen = -1; end
else
self.m_IsEffectOpen = isOpen;
end
----记录修改
local rt = 1;
if isOpen then rt = 1 else rt = -1 end
CCUserDefault:sharedUserDefault():setIntegerForKey("Effect", rt);
CCUserDefault:sharedUserDefault():flush();
----接下来有音效就对了,这里啥也不用做
end
function GamePlayMusicPlayer:getIsEffectMusicOpen()
if self.m_IsEffectOpen > 0 then return true
else return false end
end