private void PlayAudioClip() { if (m_IsNeedAudiouEffect == false) { return; } ButtonAudioConfInfor audio = AudioEffectSetting.Instance.GetButtonAudioConfigByType(BtnAudioEnum); if (m_AudioSource.clip == null || m_AudioSource.clip.name != audio.AudioName) { if (audio == null) { Debug.LogError("PlayAudio Fail"); return; } m_volume = audio.Volume; m_AudioSource.clip = ResourcesMgr.Instance.LoadAudioSync(audio.AudioPath, transform); } if (m_AudioSource.clip == null) { return; } m_AudioSource.loop = false; m_AudioSource.volume = m_volume; m_AudioSource.PlayOneShot(m_AudioSource.clip); }
private void AnalysisConfig(string data) { m_IsEnable = true; try { JsonData json = JsonMapper.ToObject(data); for (int dex = 0; dex < json.Count; ++dex) { ButtonAudioConfInfor infor = new ButtonAudioConfInfor(); Debug.LogInfor("AnalysisConfig " + json[dex]["ButtonAudio"].ToString()); infor.ButtonAudio = (ButtonAudioEnum)System.Enum.Parse(typeof(ButtonAudioEnum), json[dex]["ButtonAudio"].ToString()); infor.AudioPath = json[dex]["AudioPath"].ToString(); infor.AudioName = json[dex]["AudioName"].ToString(); infor.Volume = float.Parse(json[dex]["Volume"].ToString()); infor.IsLoop = bool.Parse(json[dex]["IsLoop"].ToString()); if (m_AllButtonAudioConfigInfors.ContainsKey(infor.ButtonAudio)) { Debug.LogError("AnalysisConfig Fail,重复的配置项 " + infor.ButtonAudio); continue; } m_AllButtonAudioConfigInfors.Add(infor.ButtonAudio, infor); } } catch (Exception ex) { m_IsEnable = false; Debug.LogError(string.Format("解析配置文件{0}出错 {1}", Define_Config.ButtonAudioConfigPath, ex.ToString())); } }
/// <summary> /// 根据按钮的枚举类型获取数据 /// </summary> /// <param name="buttonAudioEnum"></param> /// <returns></returns> public ButtonAudioConfInfor GetButtonAudioConfigByType(ButtonAudioEnum buttonAudioEnum) { ButtonAudioConfInfor result = null; if (m_AllButtonAudioConfigInfors.TryGetValue(buttonAudioEnum, out result)) { return(result); } Debug.LogError("GetButtonAudioConfigByType Fail,Not Find This Type:" + buttonAudioEnum); return(null); }