/// <summary> /// 调整音乐声音大小,volum最大值100,最小值0. /// </summary> /// <param name="audioType"></param> /// <param name="volum"></param> public void ChangeMusicVolum(EAndioType audioType, int volum) { E_SettingAndioType settingType = GetSettingType(audioType); if (settingType == E_SettingAndioType.Bg && !_isBgMusicOpen) { return; } if (settingType != E_SettingAndioType.Effect && !_isEffectMusicOpen) { return; } switch (audioType) { case EAndioType.Bg: ChangeAudioSourceVolum(_bgAudioSource, volum); break; case EAndioType.Btn: ChangeAudioSourceVolum(_btnAudioSource, volum); break; case EAndioType.Effect: ChangeAudioSourceVolum(_effectAudioSource, volum); break; case EAndioType.Extra: ChangeAudioSourceVolum(_extraAudioSource, volum); break; } }
/// <summary> /// 解除暂停音乐 /// </summary> /// <param name="audioType"></param> public void UnPauseMusic(EAndioType audioType) { E_SettingAndioType settingType = GetSettingType(audioType); if (settingType == E_SettingAndioType.Bg && !_isBgMusicOpen) { return; } if (settingType != E_SettingAndioType.Effect && !_isEffectMusicOpen) { return; } switch (audioType) { case EAndioType.Bg: UnPauseBgMusic(); break; case EAndioType.Btn: UnPauseBtnMusic(); break; case EAndioType.Effect: UnPauseEffectMusic(); break; case EAndioType.Extra: UnPauseExtraMusic(); break; } }
/// <summary> /// 播放音乐 /// </summary> /// <param name="audioType"></param> /// <param name="audioName"></param> public void PlayAudio(EAndioType audioType, string audioName) { E_SettingAndioType settingType = GetSettingType(audioType); if (settingType == E_SettingAndioType.Bg && !_isBgMusicOpen) { return; } if (settingType == E_SettingAndioType.Effect && !_isEffectMusicOpen) { return; } switch (audioType) { case EAndioType.Bg: PlayBgAudio(audioName); break; case EAndioType.Btn: PlayBtnAudio(audioName); break; case EAndioType.Effect: PlayEffectAudio(audioName); break; case EAndioType.Extra: PlayExtraAudio(audioName); break; } }
/// <summary> /// 获取音乐开关状态 /// </summary> /// <param name="settingType"></param> /// <returns></returns> public bool GetMusicOpen(E_SettingAndioType settingType) { if (settingType == E_SettingAndioType.Bg) { return(_isBgMusicOpen); } return(_isEffectMusicOpen); }
/// <summary> /// 停止播放音乐 /// </summary> /// <param name="settingType"></param> public void StopMusic(E_SettingAndioType settingType) { if (settingType == E_SettingAndioType.Bg) { _bgAudioSource.Stop(); if (_bgCoroutine != null) { StopCoroutine(_bgCoroutine); } } else { _btnAudioSource.Stop(); _effectAudioSource.Stop(); _extraAudioSource.Stop(); } }
/// <summary> /// 设置音乐的开关状态 /// </summary> /// <param name="settingType"></param> /// <param name="isTrue"></param> public void SetMusicOpen(E_SettingAndioType settingType, bool isTrue) { if (settingType == E_SettingAndioType.Bg) { _isBgMusicOpen = isTrue; if (_isBgMusicOpen) { PlayAudio(EAndioType.Bg, "bg_hall"); } else { StopMusic(E_SettingAndioType.Bg); } } else { _isEffectMusicOpen = isTrue; if (_isEffectMusicOpen) { StopMusic(E_SettingAndioType.Effect); } } }
/// <summary> /// 切换音乐开关状态 /// </summary> /// <param name="settingType"></param> public void SwitchMusicState(E_SettingAndioType settingType) { bool musicOpen = GetMusicOpen(settingType); SetMusicOpen(settingType, !musicOpen); }