static public void PlaySound(SOUND_ID id, bool bLoop) { if (PlayerPrefs.GetInt("settingSound") == 1) { return; } if (!m_bSoundInited) { InitPlaySound(); } string szName = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_SOUND); if (!GlobalInstanceFunction.Instance.IsValidName(szName)) { return; } for (int iLoop = 0; iLoop < m_SoundPlayers.Length; ++iLoop) { if (m_SoundPlayers[iLoop] != null && m_SoundPlayers[iLoop].szName == szName) { if (null != m_SoundPlayers[iLoop].SoundPlayer) { m_SoundPlayers[iLoop].SoundPlayer.volume = SOUNDVOLME; m_SoundPlayers[iLoop].SoundPlayer.loop = bLoop; m_SoundPlayers[iLoop].SoundPlayer.Play(); return; } } } SoundAssetMgr.LoadAsset(szName, new ParamData(bLoop)); }
static public void PlaySoundCallBack(AssetBundle AssetData, ParamData paramData) { if (null == AssetData || null == AssetData.mainAsset) { SoundAssetMgr.DeleteAsset(AssetData, true); return; } AudioClip SoundObj = AssetData.mainAsset as AudioClip; SoundPlayInfo MaxTimeSound = GetMaxTimeInfo(); if (null != SoundObj) { if (null != MaxTimeSound.SoundPlayer) { MaxTimeSound.SoundPlayer.Stop(); } if (null != MaxTimeSound) { SoundAssetMgr.DeleteAsset(MaxTimeSound.szName, true); } if (null != paramData) { MaxTimeSound.szName = paramData.szAssetName; MaxTimeSound.fTime = Time.realtimeSinceStartup; MaxTimeSound.SoundObj = SoundObj; MaxTimeSound.SoundPlayer.clip = SoundObj; MaxTimeSound.SoundPlayer.volume = SOUNDVOLME; MaxTimeSound.SoundPlayer.loop = paramData.bParam; MaxTimeSound.SoundPlayer.Play(); } } }