local huamajiangSound = MJFramework.MJFrameworkClassImprot("mj.luaScript.MJSound") local MJDefine = MJFramework.MJImport("mj.luaScript.MJDefine") local path = "mj/res/sound" local huamajiangPath = "mj/res/sound" huamajiangSound.man = "c_man" huamajiangSound.women = "c_women" huamajiangSound.pre = "c_" huamajiangSound.soundType = 1 -- 吃操作 --[[huamajiangSound.OperateSoundConfig[MJDefine.MJOperateType.OPREATE_CHI] = "chi" huamajiangSound.OperateSoundConfig[MJDefine.MJOperateType.OPREATE_MANGANG] = "gang"--]] local function dealSex(s) local sex=tonumber(s) if sex~=1 and sex~=2 then sex=1 end return sex end -- sound_t 1 普通话 2 方言 function huamajiangSound.setSoundType( sound_t ) if sound_t == 1 then huamajiangSound.man = "c_man" huamajiangSound.women = "c_women" huamajiangSound.pre = "c_" huamajiangSound.soundType = 1 huamajiangPath = "mj_huamajiang/res/sound" else huamajiangSound.man = "f_man" huamajiangSound.women = "f_women" huamajiangSound.pre = "f_" huamajiangPath = "mj_huamajiang/res/sound" huamajiangSound.soundType = 2 end end local OperateSoundCount = { [1] = { [MJDefine.MJOperateType.OPREATE_PENG] = 4, --碰操作 [MJDefine.MJOperateType.OPREATE_ZHIGANG] = 1, --直杠操作 [MJDefine.MJOperateType.OPREATE_BAGANG] = 1, --巴杠 [MJDefine.MJOperateType.OPREATE_ANGANG] = 1, --暗杠 [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = 6, --点炮胡牌 [MJDefine.MJOperateType.OPREATE_ZIMOHU] = 1, --自胡牌 }, [2] = { [MJDefine.MJOperateType.OPREATE_PENG] = 4, --碰操作 [MJDefine.MJOperateType.OPREATE_ZHIGANG] = 1, --直杠操作 [MJDefine.MJOperateType.OPREATE_BAGANG] = 1, --巴杠 [MJDefine.MJOperateType.OPREATE_ANGANG] = 1, --暗杠 [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = 3, --点炮胡牌 [MJDefine.MJOperateType.OPREATE_ZIMOHU] = 1, --自胡牌 } } function huamajiangSound.PlayOperateSound(sex,opType) local opName = huamajiangSound.OperateSoundConfig[opType]; if opName then sex = dealSex(sex) local gender = (sex == 1) and huamajiangSound.man or huamajiangSound.women; local name = "" if huamajiangSound.soundType == 1 then name = string.format("%s/%s/%shuamajiang_mj_%s_%s.ogg", huamajiangPath, gender, huamajiangSound.pre, sex, opName) else local opCount = OperateSoundCount[sex][opType]; local index = math.random(1, opCount); name = string.format("%s/%s/%shuamajiang_mj_%s_%s_%d.ogg", huamajiangPath, gender, huamajiangSound.pre, sex, opName, index); end playVoice(name) end if opType == MJDefine.MJOperateType.OPREATE_DIANPAOHU then local name = "mj_huamajiang/res/sound/huamajiang_dianpao.ogg"; playVoice(name) end end function huamajiangSound.PlayOutCard() playVoice("mj_huamajiang/res/sound/huamajiang_card_dis.ogg") end function huamajiangSound.PlayClickCard() playVoice("mj_huamajiang/res/sound/huamajiang_card_click.ogg") end local MahjongCardSoundCount = { [1] = { [11] = 4, [12] = 4, [13] = 4, [14] = 3, [15] = 4, [16] = 3, [17] = 4, [18] = 3, [19] = 2, [21] = 4, [22] = 3, [23] = 3, [24] = 4, [25] = 3, [26] = 3, [27] = 4, [28] = 3, [29] = 3, }, [2] = { [11] = 4, [12] = 4, [13] = 4, [14] = 3, [15] = 4, [16] = 3, [17] = 4, [18] = 3, [19] = 2, [21] = 4, [22] = 3, [23] = 3, [24] = 4, [25] = 3, [26] = 3, [27] = 4, [28] = 3, [29] = 3, } } function huamajiangSound.PlayMJSound(sex,value) sex = dealSex(sex) local name if huamajiangSound.soundType == 1 then name = string.format("%s/%s/%shuamajiang_mj_%s_%x.ogg", huamajiangPath,sex ==1 and huamajiangSound.man or huamajiangSound.women, huamajiangSound.pre, sex, value) else local v = tonumber(string.format("%x", value)); local mjCount = MahjongCardSoundCount[sex][v]; local index = math.random(1, mjCount); name = string.format("%s/%s/%shuamajiang_mj_%s_%x_%d.ogg", huamajiangPath,sex ==1 and huamajiangSound.man or huamajiangSound.women, huamajiangSound.pre, sex, value, index) end --加打印日志 logE("---huangmajiangSound PlayMJSound---",name) playVoice(name) end function huamajiangSound.PlayBaoSound(sex) sex = dealSex(sex) local name if huamajiangSound.soundType == 1 then name = string.format("%s/%s/%shuamajiang_mj_%s_bao.ogg", huamajiangPath,sex ==1 and huamajiangSound.man or huamajiangSound.women, huamajiangSound.pre, sex) else name = string.format("%s/%s/%shuamajiang_mj_%s_bao.ogg", huamajiangPath,sex ==1 and huamajiangSound.man or huamajiangSound.women, huamajiangSound.pre, sex) end playVoice(name) end --飘音效 function huamajiangSound.PlayPiaoSound(sex) sex = dealSex(sex) local name = "" if sex == 1 then name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound","c_man", "c_", sex) else name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound","c_women", "c_", sex) end playVoice(name) end function huamajiangSound.PlayGameBGM(bgmType) stopBGMusic() bgmType = bgmType or 1; if bgmType == 1 then playBGMusic("MJ_GameBGM", string.format("mj_huamajiang/res/sound/bgm/huamajiang_bgm_%d.ogg", bgmType)); else playBGMusic("MJ_GameBGM", "mj_huamajiang/res/sound/bgm/huamajiang_bgm_2.ogg"); end end function huamajiangSound.PlayLuoBoSound () local name = "mj_huamajiang/res/sound/huamajiang_fanluobo.ogg"; playVoice(name) end function huamajiangSound.PlayGameStartSound (sex) sex = dealSex(sex) local name = string.format("mj_huamajiang/res/sound/huamajiang_zhengqi_%s.ogg", sex); playVoice(name) end --刮风音效 function huamajiangSound.PlayWindSound() playVoice("mj_huamajiang/res/sound/huamajiang_wind.ogg") end --下雨音效 function huamajiangSound.PlayRainSound() playVoice("mj_huamajiang/res/sound/huamajiang_rain.ogg") end return huamajiangSound