1545 lines
45 KiB
C#
1545 lines
45 KiB
C#
|
||
public class AudioCriManager
|
||
{
|
||
public enum EPlayType
|
||
{
|
||
Music,
|
||
Sound,
|
||
Speak
|
||
}
|
||
}
|
||
// //流式播放的音频管理器
|
||
//
|
||
// using System;
|
||
// using System.Collections.Generic;
|
||
// using System.Linq;
|
||
// using cfg.DeviceCfg;
|
||
// using CriWare;
|
||
// using Framework;
|
||
// using PhxhSDK;
|
||
// using UnityEngine;
|
||
// using AudioType = PhxhSDK.AudioBase.AudioType;
|
||
// using Object = UnityEngine.Object;
|
||
//
|
||
// public class AudioCriManager: Singlenton<AudioCriManager>, IStart, IInitable, IUpdatable, IAudioPlay
|
||
// {
|
||
// public GameObject initGameObject;
|
||
// public GameObject AudioRoot;
|
||
// public GameObject CriAtomRoot;
|
||
// public CriAtom CriAtom;
|
||
// public ClipType curClipType;
|
||
//
|
||
// private AudioCriInst _bgmAudioCri;
|
||
// public CriAtomListener Listener;
|
||
// private Dictionary<string, CriAtomEx.CueInfo[]> _cacheCueInfoArrays = new();
|
||
//
|
||
// /// <summary>
|
||
// /// 对象池数量限制
|
||
// /// </summary>
|
||
// public int MusicPoolLimit = 1;
|
||
// public int SoundPoolLimit = 100;
|
||
// public int SpeakPoolLimit = 1;
|
||
//
|
||
// public enum EPlayType
|
||
// {
|
||
// Music,
|
||
// Sound,
|
||
// Speak
|
||
// }
|
||
//
|
||
// private GameObject _criError;
|
||
//
|
||
// /// <summary>
|
||
// /// 播放音频对象池
|
||
// /// </summary>
|
||
// private Dictionary<int, AudioCriInst> _soundAudioDic;
|
||
// private Dictionary<int, AudioCriInst> _soundAudioLoopDic;
|
||
// private Dictionary<int, AudioCriInst> _musicAudioDic;
|
||
// private Dictionary<int, AudioCriInst> _musicAudioLoopDic;
|
||
// private Dictionary<int, AudioCriInst> _allAudioDic;
|
||
//
|
||
// private List<GameObject> _soundAudioObj;
|
||
// private List<GameObject> _soundAudioLoopObj;
|
||
// private List<GameObject> _musicAudioObj;
|
||
// private List<GameObject> _musicAudioLoopObj;
|
||
//
|
||
// public enum PlayType
|
||
// {
|
||
// Music,
|
||
// Sound,
|
||
// Speak
|
||
// }
|
||
//
|
||
// private Dictionary<PlayType, List<int>> _playingLDic;
|
||
//
|
||
// private List<AudioCriInst> _soundAudioQue;
|
||
//
|
||
// private Dictionary<int, AudioCriInst> _storyAudioDic;
|
||
//
|
||
// private const int SOUND_MAX_NUM = 20;
|
||
// private const int MUSIC_MAX_NUM = 2;
|
||
//
|
||
// #region Property
|
||
//
|
||
// private float _vol = 1f;
|
||
//
|
||
// public float GlobalSoundsVolume
|
||
// {
|
||
// get => AudioCri.GlobalSoundVolume;
|
||
// set => AudioCri.GlobalSoundVolume = value;
|
||
// }
|
||
// public float GlobalSpeakVolume{
|
||
// get => AudioCri.GlobalSpeakVolume;
|
||
// set => AudioCri.GlobalSpeakVolume = value;
|
||
// }
|
||
//
|
||
// public float GlobalMusicVolume {
|
||
// get => AudioCri.GlobalMusicVolume;
|
||
// set => AudioCri.GlobalMusicVolume = value;
|
||
// }
|
||
//
|
||
// public float GlobalVolume
|
||
// {
|
||
// get => AudioCri.GlobalVolume;
|
||
// set => AudioCri.GlobalVolume = value;
|
||
// }
|
||
//
|
||
// public bool GlobalIsOpenSpeak;
|
||
//
|
||
// public AudioCriInst BgmAudioCri
|
||
// {
|
||
// get { return _bgmAudioCri; }
|
||
// set { _bgmAudioCri = value; }
|
||
// }
|
||
//
|
||
// public CriAtomExOutputAnalyzer analyzer=null;
|
||
// public bool IsAnalyzer = false;
|
||
//
|
||
//
|
||
// #endregion
|
||
//
|
||
// #region Analyze
|
||
//
|
||
// //在播放之前注册
|
||
// public CriAtomExOutputAnalyzer RegisterAnalyzer()//CriAtomExOutputAnalyzer s
|
||
// {
|
||
// IsAnalyzer = true;
|
||
// if (analyzer == null)
|
||
// {
|
||
// analyzer = new(NewAnalyzerConfig());
|
||
// }
|
||
// return analyzer;
|
||
// //analyzer = s;
|
||
// }
|
||
//
|
||
// public void UnregisterAnalyzer()//CriAtomExOutputAnalyzer s
|
||
// {
|
||
// //s.DetachExPlayer();
|
||
// IsAnalyzer = false;
|
||
// //analyzer = null;
|
||
// }
|
||
//
|
||
// /// <summary>
|
||
// /// 获取音频输出分析器配置
|
||
// /// </summary>
|
||
// /// <returns></returns>
|
||
// private CriAtomExOutputAnalyzer.Config NewAnalyzerConfig()
|
||
// {
|
||
// CriAtomExOutputAnalyzer.Config config = new()
|
||
// {
|
||
// enableSpectrumAnalyzer = true, // 开启频谱分析
|
||
// numSpectrumAnalyzerBands = 16, // 频谱分析数量SPECTRUM_SAMPLES_NUMBER
|
||
// };
|
||
//
|
||
// return config;
|
||
// }
|
||
//
|
||
// #endregion
|
||
//
|
||
// #region Framework
|
||
//
|
||
// public void Start()
|
||
// {
|
||
// if (!AudioRoot)
|
||
// {
|
||
// curClipType = ClipType.CriwareClip;
|
||
//
|
||
// AudioRoot = new GameObject();
|
||
// AudioRoot.name = "Audio(Singleton)";
|
||
// Object.DontDestroyOnLoad(AudioRoot);
|
||
//
|
||
// if (curClipType == ClipType.CriwareClip)
|
||
// {
|
||
// _criError = new GameObject();
|
||
// _criError.name = "CriwareError";
|
||
// _criError.AddComponent<CriWareErrorHandler>();
|
||
// Object.DontDestroyOnLoad(_criError);
|
||
// }
|
||
//
|
||
// var initialize = GameObject.Find("CriWareLibraryInitializer");
|
||
// Object.DontDestroyOnLoad(initialize);
|
||
// CriAtomRoot = GameObject.Find("CriAtom");
|
||
// CriAtom = CriAtomRoot.GetComponent<CriAtom>();
|
||
// Object.DontDestroyOnLoad(CriAtomRoot);
|
||
// }
|
||
// // CriAtomRoot = new GameObject()
|
||
// // {
|
||
// // name = "CriAtom"
|
||
// // };
|
||
// // CriAtom = CriAtomRoot.AddComponent<CriAtom>();
|
||
// // CriAtom.AddCueSheet()
|
||
//
|
||
// // for (int i = 0; i < SOUND_MAX_NUM; i++)
|
||
// // {
|
||
// // var go = new GameObject
|
||
// // {
|
||
// // name = "Sound" + (i+1)
|
||
// // };
|
||
// // go.transform.SetParent(AudioRoot.transform);
|
||
// // }
|
||
// //
|
||
// // for (int i = 0; i < MUSIC_MAX_NUM; i++)
|
||
// // {
|
||
// // var go = new GameObject
|
||
// // {
|
||
// // name = "Music" + (i+1)
|
||
// // };
|
||
// // go.transform.SetParent(AudioRoot.transform);
|
||
// // }
|
||
// }
|
||
//
|
||
// public void Init()
|
||
// {
|
||
// _soundAudioDic = new Dictionary<int, AudioCriInst>();
|
||
// _soundAudioLoopDic = new Dictionary<int, AudioCriInst>();
|
||
// _musicAudioDic = new Dictionary<int, AudioCriInst>();
|
||
// _musicAudioLoopDic = new Dictionary<int, AudioCriInst>();
|
||
//
|
||
// _allAudioDic = new Dictionary<int, AudioCriInst>();
|
||
// _soundAudioLoopObj = new();
|
||
// _musicAudioLoopObj = new();
|
||
// _soundAudioObj = new();
|
||
// _musicAudioObj = new();
|
||
// _playingLDic = new ();
|
||
// _playingLDic.Add(PlayType.Music, new List<int>());
|
||
// _playingLDic.Add(PlayType.Sound, new List<int>());
|
||
// _playingLDic.Add(PlayType.Speak, new List<int>());
|
||
//
|
||
// _storyAudioDic = new();
|
||
// }
|
||
//
|
||
// public void Release()
|
||
// {
|
||
//
|
||
// }
|
||
//
|
||
// public void Update(float dt)
|
||
// {
|
||
// foreach (var kv in _musicAudioDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// if (!audio.IsStopped)
|
||
// {
|
||
// audio.Update(dt);
|
||
// }
|
||
// }
|
||
//
|
||
// foreach (var kv in _musicAudioLoopDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// if (!audio.IsStopped)
|
||
// {
|
||
// audio.Update(dt);
|
||
// }
|
||
// }
|
||
//
|
||
// foreach (var kv in _soundAudioDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// if (!audio.IsStopped)
|
||
// {
|
||
// audio.Update(dt);
|
||
// }
|
||
// }
|
||
//
|
||
// foreach (var kv in _soundAudioLoopDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// if (!audio.IsStopped)
|
||
// {
|
||
// audio.Update(dt);
|
||
// }
|
||
// }
|
||
//
|
||
// foreach (var kv in _storyAudioDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// if (!audio.IsStopped)
|
||
// {
|
||
// audio.Update(dt);
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// #endregion
|
||
//
|
||
// #region LoadAsset
|
||
//
|
||
// // private string _GetCriPath(string name)
|
||
// // {
|
||
// // var commonStr = "CueSheet_";
|
||
// // var strArr = name.Split('_');
|
||
// // var pre = strArr[0];
|
||
// // if (pre != null)
|
||
// // {
|
||
// // if (pre == "Voice")
|
||
// // {
|
||
// // return "CueSheet_Voice";
|
||
// // }
|
||
// //
|
||
// // if (pre == "bgm")
|
||
// // {
|
||
// // return "CueSheet_bgm";
|
||
// // }
|
||
// //
|
||
// // if (pre == "Sound")
|
||
// // {
|
||
// // return "CueSheet_Sound";
|
||
// // }
|
||
// //
|
||
// // if (pre == "ev")
|
||
// // {
|
||
// // return "CueSheet_ev";
|
||
// // }
|
||
// //
|
||
// // if (pre == "ui")
|
||
// // {
|
||
// // return "CueSheet_ui";
|
||
// // }
|
||
// // }
|
||
// //
|
||
// // return "";
|
||
// // }
|
||
//
|
||
// //优化SplitGC
|
||
// private string _GetCriPath(string name)
|
||
// {
|
||
// var firstChar = name[0];
|
||
// if (!string.IsNullOrEmpty(name))
|
||
// {
|
||
// if (firstChar == 'b')
|
||
// {
|
||
// return "CueSheet_bgm";
|
||
// }
|
||
//
|
||
// if (firstChar == 'V')
|
||
// {
|
||
// return "CueSheet_Voice";
|
||
// }
|
||
//
|
||
// if (firstChar == 'S')
|
||
// {
|
||
// return "CueSheet_Sound";
|
||
// }
|
||
//
|
||
// if (firstChar == 'e')
|
||
// {
|
||
// return "CueSheet_ev";
|
||
// }
|
||
//
|
||
// if (firstChar == 'u')
|
||
// {
|
||
// return "CueSheet_ui";
|
||
// }
|
||
// }
|
||
//
|
||
// return "";
|
||
// }
|
||
//
|
||
// private string _GetAcbPath(string name)
|
||
// {
|
||
// var path = _GetCriPath(name);
|
||
// if (string.IsNullOrEmpty(path))
|
||
// {
|
||
// DebugUtil.LogError($"获取不到对应的ACB文件,key: {name}");
|
||
// return "";
|
||
// }
|
||
//
|
||
// return path + ".acb";
|
||
// }
|
||
//
|
||
// private string _GetAwbPath(string name)
|
||
// {
|
||
// var path = _GetCriPath(name);
|
||
// if (string.IsNullOrEmpty(path))
|
||
// {
|
||
// DebugUtil.LogError($"获取不到对应的AWB文件,key: {name}");
|
||
// return "";
|
||
// }
|
||
//
|
||
// return path + ".awb";
|
||
// }
|
||
//
|
||
// private string _GetAcfPath(string name)
|
||
// {
|
||
// var path = _GetCriPath(name);
|
||
// if (path == null)
|
||
// {
|
||
// DebugUtil.LogError($"获取不到对应的ACF文件,key: {name}");
|
||
// return "";
|
||
// }
|
||
//
|
||
// return path + ".acf";
|
||
// }
|
||
// #endregion
|
||
//
|
||
// #region AudioObj
|
||
//
|
||
// /// <summary>
|
||
// /// 获取可用的Audio
|
||
// /// </summary>
|
||
// /// <param name="audioType"></param>
|
||
// /// <returns></returns>
|
||
// private AudioCriInst _GetUsableAudio(AudioBase.AudioType audioType, bool isLoop, bool isSpeak = false)
|
||
// {
|
||
// try
|
||
// {
|
||
// var limit = _CheckIsAudioLimited(audioType, isSpeak);
|
||
// if (limit)
|
||
// {
|
||
// return _GetOldAudio(audioType, isLoop, isSpeak);
|
||
// }
|
||
//
|
||
// var freeAudio = _GetFreeAudio(audioType, isLoop);
|
||
// return freeAudio ?? _CreateNewAudio(audioType, isLoop);
|
||
// }
|
||
//
|
||
// catch (Exception e)
|
||
// {
|
||
// DebugUtil.LogError($"AudioManger, GetUsableAudio Fail.");
|
||
// }
|
||
//
|
||
// return null;
|
||
// }
|
||
//
|
||
// private AudioCriInst _GetOldAudio(AudioBase.AudioType audioType, bool isLoop, bool isSpeak)
|
||
// {
|
||
// var playingList = _playingLDic[GetPlayType(audioType, isSpeak)];
|
||
// if (playingList.Count > 0)
|
||
// {
|
||
// var audio = GetAudioByID(playingList[0]);
|
||
// return audio;
|
||
// }
|
||
// return _CreateNewAudio(audioType, isLoop);
|
||
// }
|
||
//
|
||
// private int _GetLimit(AudioBase.AudioType audioType, bool isSpeak)
|
||
// {
|
||
// if (isSpeak)
|
||
// {
|
||
// return SpeakPoolLimit;
|
||
// }
|
||
//
|
||
// if (audioType == AudioBase.AudioType.Music)
|
||
// {
|
||
// return MusicPoolLimit;
|
||
// }
|
||
//
|
||
// if (audioType == AudioBase.AudioType.Sound)
|
||
// {
|
||
// return SoundPoolLimit;
|
||
// }
|
||
//
|
||
// return -1;
|
||
// }
|
||
//
|
||
// private PlayType GetPlayType(AudioBase.AudioType audioType, bool isSpeak)
|
||
// {
|
||
// if (isSpeak)
|
||
// return PlayType.Speak;
|
||
// if (audioType == AudioBase.AudioType.Music)
|
||
// return PlayType.Music;
|
||
// return PlayType.Sound;
|
||
// }
|
||
// private bool _CheckIsAudioLimited(AudioBase.AudioType audioType, bool isSpeak)
|
||
// {
|
||
// var limit = _GetLimit(audioType, isSpeak);
|
||
// var playingList = _playingLDic[GetPlayType(audioType, isSpeak)];
|
||
// if (playingList.Count >= limit)
|
||
// {
|
||
// return true;
|
||
// }
|
||
//
|
||
// return false;
|
||
// }
|
||
//
|
||
// private Dictionary<int, AudioCriInst> _GetAudioDic(AudioBase.AudioType audioType, bool isLoop)
|
||
// {
|
||
// switch (audioType)
|
||
// {
|
||
// case AudioBase.AudioType.Music:
|
||
// return isLoop? _musicAudioLoopDic : _musicAudioDic;
|
||
// case AudioBase.AudioType.Sound:
|
||
// return isLoop? _soundAudioLoopDic : _soundAudioDic;
|
||
// default:
|
||
// {
|
||
// DebugUtil.LogError("获取AudioDic出错!!!传入AudioType有误!");
|
||
// return null;
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// private AudioCriInst _GetFreeAudio(AudioBase.AudioType audioType, bool isLoop)
|
||
// {
|
||
// var dic = _GetAudioDic(audioType, isLoop);
|
||
// if (dic != null)
|
||
// {
|
||
// foreach (var kv in dic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// if (audio.IsStopped)
|
||
// {
|
||
// return audio;
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// return null;
|
||
// }
|
||
//
|
||
// private AudioCriInst _CreateStoryAudio(GameObject posGo = null)
|
||
// {
|
||
// var rootGo = new GameObject()
|
||
// {
|
||
// name = "AudioStory"
|
||
// };
|
||
// rootGo.transform.SetParent(AudioRoot.transform);
|
||
// var audio = new AudioCriInst(AudioBase.AudioType.Sound, rootGo, null);
|
||
// rootGo.name += audio.audioID;
|
||
// _storyAudioDic.TryAdd(audio.audioID, audio);
|
||
// _allAudioDic.Add(audio.audioID, audio);
|
||
// return audio;
|
||
// }
|
||
//
|
||
// private AudioCriInst _CreateNewAudio(AudioBase.AudioType audioType, bool isLoop)
|
||
// {
|
||
// var rootGo = new GameObject()
|
||
// {
|
||
// name = "Audio"
|
||
// };
|
||
// rootGo.transform.SetParent(AudioRoot.transform);
|
||
// var audio = new AudioCriInst(audioType, rootGo, null);
|
||
//
|
||
// if (audioType == AudioBase.AudioType.Music)
|
||
// {
|
||
// rootGo.name = "music";
|
||
// rootGo.name += audio.audioID;
|
||
// if (isLoop)
|
||
// {
|
||
// rootGo.name += "Loop";
|
||
// _musicAudioLoopDic.TryAdd(audio.audioID, audio);
|
||
// _musicAudioLoopObj.Add(rootGo);
|
||
// }
|
||
// else
|
||
// {
|
||
// _musicAudioDic.TryAdd(audio.audioID, audio);
|
||
// _musicAudioObj.Add(rootGo);
|
||
// }
|
||
//
|
||
// if (IsAnalyzer)
|
||
// {
|
||
// rootGo.GetComponent<CriAtomSource>().AttachToAnalyzer(analyzer);
|
||
// }
|
||
// }
|
||
// if (audioType == AudioBase.AudioType.Sound)
|
||
// {
|
||
// rootGo.name = "Sound";
|
||
// rootGo.name += audio.audioID;
|
||
// if (isLoop)
|
||
// {
|
||
// rootGo.name += "Loop";
|
||
// _soundAudioLoopDic.TryAdd(audio.audioID, audio);
|
||
// _soundAudioLoopObj.Add(rootGo);
|
||
// }
|
||
// else
|
||
// {
|
||
// _soundAudioDic.TryAdd(audio.audioID, audio);
|
||
// _soundAudioObj.Add(rootGo);
|
||
// }
|
||
// }
|
||
// _allAudioDic.Add(audio.audioID, audio);
|
||
//
|
||
// return audio;
|
||
// }
|
||
//
|
||
// #endregion
|
||
//
|
||
// #region Play
|
||
//
|
||
// /// <summary>
|
||
// /// 调用接口,传obj
|
||
// /// </summary>
|
||
// /// <param name="key"></param>
|
||
// /// <param name="type"></param>
|
||
// /// <param name="posObj"></param>
|
||
// /// <returns></returns>
|
||
// private int _PlayAudio(string key, EPlayType type, GameObject posObj = null, bool isLoop = false,
|
||
// bool isFade = false, float fadeTime = 0f)
|
||
// {
|
||
// switch (type)
|
||
// {
|
||
// case EPlayType.Sound:
|
||
// if (AudioCri.GlobalVolume <= 0 || AudioCri.GlobalSoundVolume <= 0)
|
||
// {
|
||
// return -1;
|
||
// }
|
||
// break;
|
||
// case EPlayType.Speak:
|
||
// if (AudioCri.GlobalVolume <= 0 || AudioCri.GlobalSpeakVolume <= 0)
|
||
// {
|
||
// return -1;
|
||
// }
|
||
// break;
|
||
// default:
|
||
// break;
|
||
// }
|
||
// if (string.IsNullOrEmpty(key))
|
||
// {
|
||
// return -1;
|
||
// }
|
||
//
|
||
// //策略2 超过限制不播
|
||
// // var audioType = AudioBase.AudioType.Music;
|
||
// // bool isSpeak = false;
|
||
// // if (type == EPlayType.Sound)
|
||
// // {
|
||
// // audioType = AudioBase.AudioType.Sound;
|
||
// // }
|
||
// // if (type == EPlayType.Speak)
|
||
// // {
|
||
// // audioType = AudioBase.AudioType.Sound;
|
||
// // isSpeak = true;
|
||
// // }
|
||
// // if (_CheckIsAudioLimited(audioType, isSpeak))
|
||
// // {
|
||
// // return -1;
|
||
// // }
|
||
//
|
||
// if (CriAtom)
|
||
// {
|
||
// try
|
||
// {
|
||
// var cueSheetName = _GetCriPath(key);
|
||
// if (!string.IsNullOrEmpty(cueSheetName))
|
||
// {
|
||
// if (CriAtom.GetCueSheetInternal(cueSheetName) == null)
|
||
// {
|
||
// var acbPath = _GetAcbPath(key);
|
||
// var awbPath = _GetAwbPath(key);
|
||
// if (string.IsNullOrEmpty(acbPath) || string.IsNullOrEmpty(awbPath))
|
||
// {
|
||
// return -1;
|
||
// }
|
||
//
|
||
// var cueSheet = CriAtom.AddCueSheet(cueSheetName, acbPath, awbPath, null);
|
||
// }
|
||
// }
|
||
//
|
||
// var criCueSheet = CriAtom.GetCueSheetInternal(cueSheetName);
|
||
// if (criCueSheet != null && criCueSheet.acb != null)
|
||
// {
|
||
// var cueInfoList = CriAtom.GetCueSheetInternal(cueSheetName).acb.GetCueInfoList();
|
||
// var cueInfo = Array.Find(cueInfoList, (cue) => cue.name == key);
|
||
// if (cueInfo.name == null)
|
||
// {
|
||
// DebugUtil.LogWarning($"Can not Find Criware Key:{key}");
|
||
// return -1;
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// DebugUtil.LogWarning($"Can not Find Criware Key:{key}");
|
||
// return -1;
|
||
// }
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// DebugUtil.LogError($"AudioManager, CriAtom Exception.");
|
||
// }
|
||
// }
|
||
//
|
||
// string path = _GetCriPath(key);
|
||
//
|
||
// switch (type)
|
||
// {
|
||
// case EPlayType.Music:
|
||
// {
|
||
// return _PlayMusic(key, path, posObj, isLoop, isFade, fadeTime);
|
||
// }
|
||
// case EPlayType.Sound:
|
||
// {
|
||
// return _PlaySound(key, path, posObj, isLoop, isFade, fadeTime);
|
||
// }
|
||
// case EPlayType.Speak:
|
||
// {
|
||
// return _PlaySpeakSound(key, path, posObj, isFade, fadeTime);
|
||
// }
|
||
// default: break;
|
||
// }
|
||
//
|
||
// return -1;
|
||
// }
|
||
//
|
||
// /// <summary>
|
||
// /// 调用接口,传位置
|
||
// /// </summary>
|
||
// /// <param name="key"></param>
|
||
// /// <param name="type"></param>
|
||
// /// <param name="pos"></param>
|
||
// /// <returns></returns>
|
||
// private int _PlayAudio(string key, EPlayType type, Vector3 pos, bool loop = false,
|
||
// bool isFade = false, float fadeTime = 0f)
|
||
// {
|
||
// //策略2 超过限制不播
|
||
// // var audioType = AudioBase.AudioType.Music;
|
||
// // bool isSpeak = false;
|
||
// // if (type == EPlayType.Sound)
|
||
// // {
|
||
// // audioType = AudioBase.AudioType.Sound;
|
||
// // }
|
||
// // if (type == EPlayType.Speak)
|
||
// // {
|
||
// // audioType = AudioBase.AudioType.Sound;
|
||
// // isSpeak = true;
|
||
// // }
|
||
// // if (_CheckIsAudioLimited(audioType, isSpeak))
|
||
// // {
|
||
// // return -1;
|
||
// // }
|
||
// switch (type)
|
||
// {
|
||
// case EPlayType.Sound:
|
||
// if (AudioCri.GlobalVolume <= 0 || AudioCri.GlobalSoundVolume <= 0)
|
||
// {
|
||
// return -1;
|
||
// }
|
||
// break;
|
||
// case EPlayType.Speak:
|
||
// if (AudioCri.GlobalVolume <= 0 || AudioCri.GlobalSpeakVolume <= 0)
|
||
// {
|
||
// return -1;
|
||
// }
|
||
// break;
|
||
// default:
|
||
// break;
|
||
// }
|
||
//
|
||
// if (CriAtom)
|
||
// {
|
||
// var cueSheetName = _GetCriPath(key);
|
||
// if (CriAtom.GetCueSheetInternal(cueSheetName) == null)
|
||
// {
|
||
// var acbPath = _GetAcbPath(key);
|
||
// var awbPath = _GetAwbPath(key);
|
||
// if (string.IsNullOrEmpty(acbPath) || string.IsNullOrEmpty(awbPath))
|
||
// {
|
||
// return -1;
|
||
// }
|
||
// var cueSheet = CriAtom.AddCueSheet(cueSheetName, acbPath, awbPath, null);
|
||
// }
|
||
//
|
||
// CriAtomEx.CueInfo[] cueInfos;
|
||
// if (!_cacheCueInfoArrays.ContainsKey(cueSheetName))
|
||
// {
|
||
// cueInfos = CriAtom.GetCueSheetInternal(cueSheetName).acb.GetCueInfoList();
|
||
// _cacheCueInfoArrays.Add(cueSheetName, cueInfos);
|
||
// }
|
||
// else
|
||
// {
|
||
// cueInfos = _cacheCueInfoArrays[cueSheetName];
|
||
// }
|
||
// // var cueInfoList = CriAtom.GetCueSheetInternal(cueSheetName).acb.GetCueInfoList();
|
||
// var cueInfo = Array.Find(cueInfos, (cue) => cue.name == key );
|
||
// if (cueInfo.name == null)
|
||
// {
|
||
// DebugUtil.LogWarning($"Can not Find Criware Key:{key}");
|
||
// return -1;
|
||
// }
|
||
// }
|
||
//
|
||
// string path = _GetCriPath(key);
|
||
//
|
||
// switch (type)
|
||
// {
|
||
// case EPlayType.Music:
|
||
// {
|
||
// return _PlayMusic(key, path, pos, loop, isFade, fadeTime);
|
||
// }
|
||
// case EPlayType.Sound:
|
||
// {
|
||
// return _PlaySound(key, path, pos, loop, isFade, fadeTime);
|
||
// }
|
||
// case EPlayType.Speak:
|
||
// {
|
||
// return _PlaySpeakSound(key, path, pos, isFade, fadeTime);
|
||
// }
|
||
// default: break;
|
||
// }
|
||
//
|
||
// return -1;
|
||
// }
|
||
//
|
||
// private int _PlayMusic(string key, string path, GameObject posObj = null, bool isLoop = true, bool isFade = false, float fadeTime = 0f, float volume = 1f)
|
||
// {
|
||
// // if (GlobalMusicVolume < 0.01f)
|
||
// // {
|
||
// // return -1;
|
||
// // }
|
||
// if (!isFade)
|
||
// {
|
||
// // if (_bgmAudio != null)
|
||
// // {
|
||
// // _bgmAudio.Stop();
|
||
// // }
|
||
// AudioInfo audioInfo = new AudioInfo()
|
||
// {
|
||
// persist = true,
|
||
// volume = 1,
|
||
// fadeInValue = 0.3f,
|
||
// fadeOutValue = 0.3f,
|
||
// };
|
||
// var audio = _GetUsableAudio(AudioBase.AudioType.Music, isLoop);
|
||
//
|
||
// //错误打印,保护
|
||
// if (audio == null)
|
||
// {
|
||
// DebugUtil.LogError($"AudioManager, PlayMusic, Cant GetUsableAudio key:{key}");
|
||
// return -1;
|
||
// }
|
||
//
|
||
// audio.SetPosObj(posObj);
|
||
// audio.SetIsSpeak(false);
|
||
// audio.SetVolume(volume);
|
||
// audio.SetIsLoop(isLoop);
|
||
// // if (_bgmAudio != null && _bgmAudio != audio)
|
||
// // {
|
||
// // _bgmAudio.Stop();
|
||
// // }
|
||
// audio.Stop();
|
||
// audio.Play(path, key);
|
||
// audio.SetIsLoop(isLoop);
|
||
// //_bgmAudio = audio;
|
||
// return audio.audioID;
|
||
// }
|
||
// else
|
||
// {
|
||
// AudioInfo audioInfo = new AudioInfo()
|
||
// {
|
||
// persist = true,
|
||
// volume = 1,
|
||
// fadeInValue = 0.3f,
|
||
// fadeOutValue = 0.3f,
|
||
// };
|
||
// var audio = _GetUsableAudio(AudioBase.AudioType.Music, isLoop);
|
||
// audio.SetPosObj(posObj);
|
||
// audio.SetIsSpeak(false);
|
||
// // if (_bgmAudio != null && _bgmAudio != audio)
|
||
// // {
|
||
// // _bgmAudio.Stop();
|
||
// // }
|
||
//
|
||
// //audio.SetIsFadeIn(true);
|
||
// audio.Stop();
|
||
// audio.SetVolume(0);
|
||
// audio.PlayWithFade(path, key, fadeTime);
|
||
// audio.SetIsLoop(isLoop);
|
||
// //_bgmAudio = audio;
|
||
// return audio.audioID;
|
||
// }
|
||
// }
|
||
//
|
||
// private int _PlayMusic(string key, string path, Vector3 pos, bool isLoop, bool isFade = false, float fadeTime = 0f, float volume = 1f)
|
||
// {
|
||
// // if (GlobalMusicVolume < 0.01f)
|
||
// // {
|
||
// // return -1;
|
||
// // }
|
||
// AudioInfo audioInfo = new AudioInfo()
|
||
// {
|
||
// persist = true,
|
||
// volume = 1,
|
||
// fadeInValue = 0.3f,
|
||
// fadeOutValue = 0.3f,
|
||
// };
|
||
// var audio = _GetUsableAudio(AudioBase.AudioType.Music, isLoop);
|
||
//
|
||
// //错误打印,保护
|
||
// if (audio == null)
|
||
// {
|
||
// DebugUtil.LogError($"AudioManager, PlayMusic By Pos, Cant GetUsableAudio key:{key}");
|
||
// return -1;
|
||
// }
|
||
//
|
||
// audio.SetPos(pos);
|
||
// audio.SetIsSpeak(false);
|
||
//
|
||
// // if (_bgmAudio != null && _bgmAudio != audio)
|
||
// // {
|
||
// // _bgmAudio.Stop();
|
||
// // }
|
||
//
|
||
// audio.SetIsLoop(true);
|
||
// audio.Stop();
|
||
// if (isFade)
|
||
// {
|
||
// audio.SetVolume(0);
|
||
// audio.SetTargetVolume(volume);
|
||
// audio.PlayWithFade(path, key, fadeTime);
|
||
// }
|
||
// else
|
||
// {
|
||
// audio.Play(path, key);
|
||
// }
|
||
//
|
||
// //_bgmAudio = audio;
|
||
//
|
||
// audio.SetIsLoop(isLoop);
|
||
// return audio.audioID;
|
||
// }
|
||
//
|
||
// private int _PlaySound(string key, string path, GameObject posObj = null, bool isLoop = false,
|
||
// bool isFade = false, float fadeTime = 0f, float volume = 1f)
|
||
// {
|
||
// if (GlobalSoundsVolume < 0.01f)
|
||
// {
|
||
// return -1;
|
||
// }
|
||
// AudioInfo audioInfo = new AudioInfo()
|
||
// {
|
||
// persist = true,
|
||
// volume = 1,
|
||
// fadeInValue = 0.3f,
|
||
// fadeOutValue = 0.3f,
|
||
// };
|
||
//
|
||
// var audio = _GetUsableAudio(AudioBase.AudioType.Sound, isLoop);
|
||
//
|
||
// //错误打印,保护
|
||
// if (audio == null)
|
||
// {
|
||
// DebugUtil.LogError($"AudioManager, PlaySound By Obj, Cant GetUsableAudio key:{key}");
|
||
// return -1;
|
||
// }
|
||
//
|
||
// audio.Stop();
|
||
//
|
||
// audio.SetPosObj(posObj);
|
||
// audio.SetIsSpeak(false);
|
||
// audio.SetIsLoop(isLoop);
|
||
// if (posObj)
|
||
// {
|
||
// audio.SetIs3D(true);
|
||
// }
|
||
//
|
||
// if (isFade)
|
||
// {
|
||
// audio.SetVolume(0);
|
||
// audio.PlayWithFade(path, key);
|
||
// }
|
||
// else
|
||
// {
|
||
// audio.SetVolume(volume);
|
||
// audio.Play(path, key);
|
||
// }
|
||
//
|
||
// audio.SetIsLoop(isLoop);
|
||
// return audio.audioID;
|
||
// }
|
||
//
|
||
// private int _PlaySound(string key, string path, Vector3 pos, bool isLoop = false, bool isFade = false, float fadeTime = 0f, float volume = 1f)
|
||
// {
|
||
// if (GlobalSoundsVolume < 0.01f)
|
||
// {
|
||
// return -1;
|
||
// }
|
||
// AudioInfo audioInfo = new AudioInfo()
|
||
// {
|
||
// persist = true,
|
||
// volume = 1,
|
||
// fadeInValue = 0.3f,
|
||
// fadeOutValue = 0.3f,
|
||
// };
|
||
// var audio = _GetUsableAudio(AudioBase.AudioType.Sound, isLoop);
|
||
//
|
||
// //错误打印,保护
|
||
// if (audio == null)
|
||
// {
|
||
// DebugUtil.LogError($"AudioManager, PlaySound By Pos, Cant GetUsableAudio key:{key}");
|
||
// return -1;
|
||
// }
|
||
//
|
||
// audio.Stop();
|
||
//
|
||
// audio.SetPos(pos);
|
||
// audio.SetIsLoop(isLoop);
|
||
// audio.SetIsSpeak(false);
|
||
// audio.SetIs3D(true);
|
||
// if (isFade)
|
||
// {
|
||
// audio.SetVolume(0);
|
||
// audio.PlayWithFade(path, key, fadeTime);
|
||
// }
|
||
// else
|
||
// {
|
||
// audio.SetVolume(volume);
|
||
// audio.Play(path, key);
|
||
// }
|
||
//
|
||
// audio.SetIsLoop(isLoop);
|
||
// return audio.audioID;
|
||
// }
|
||
//
|
||
// private int _PlaySpeakSound(string key, string path, GameObject posObj = null, bool isFade = false, float fadeTime = 0f, float volume = 1f)
|
||
// {
|
||
// if (GlobalSpeakVolume < 0.01f)
|
||
// {
|
||
// return -1;
|
||
// }
|
||
// AudioInfo audioInfo = new AudioInfo()
|
||
// {
|
||
// persist = true,
|
||
// volume = 1,
|
||
// fadeInValue = 0.3f,
|
||
// fadeOutValue = 0.3f,
|
||
// };
|
||
//
|
||
// var audio = _GetUsableAudio(AudioBase.AudioType.Sound, false);
|
||
//
|
||
// //错误打印,保护
|
||
// if (audio == null)
|
||
// {
|
||
// DebugUtil.LogError($"AudioManager, PlaySpeak By Obj, Cant GetUsableAudio key:{key}");
|
||
// return -1;
|
||
// }
|
||
//
|
||
// audio.SetPosObj(posObj);
|
||
// audio.SetIsSpeak(true);
|
||
//
|
||
// if (isFade)
|
||
// {
|
||
// audio.SetVolume(0);
|
||
// audio.PlayWithFade(path, key, fadeTime);
|
||
// }
|
||
// else
|
||
// {
|
||
// audio.SetVolume(volume);
|
||
// audio.Play(path, key);
|
||
// }
|
||
// audio.SetIsLoop(false);
|
||
//
|
||
// return audio.audioID;
|
||
// }
|
||
//
|
||
// private int _PlaySpeakSound(string key, string path, Vector3 pos, bool isFade = false, float fadeTime = 0f, float volume = 1f)
|
||
// {
|
||
// AudioInfo audioInfo = new AudioInfo()
|
||
// {
|
||
// persist = true,
|
||
// volume = 1,
|
||
// fadeInValue = 0.3f,
|
||
// fadeOutValue = 0.3f,
|
||
// };
|
||
// var audio = _GetUsableAudio(AudioBase.AudioType.Sound, false);
|
||
// audio.SetPos(pos);
|
||
// audio.SetIsSpeak(true);
|
||
// if (isFade)
|
||
// {
|
||
// audio.SetVolume(0);
|
||
// audio.PlayWithFade(path, key, fadeTime);
|
||
// }
|
||
// else
|
||
// {
|
||
// audio.SetVolume(volume);
|
||
// audio.Play(path, key);
|
||
// }
|
||
// audio.SetIsLoop(false);
|
||
// return audio.audioID;
|
||
// }
|
||
//
|
||
//
|
||
// private void _PlayAudioByID(int id, string key, EPlayType type, GameObject posObj = null)
|
||
// {
|
||
// if (_soundAudioDic.TryGetValue(id, out var audio))
|
||
// {
|
||
//
|
||
// }
|
||
// }
|
||
// #endregion
|
||
//
|
||
// #region API
|
||
//
|
||
// public int PlayAudio(string key, EPlayType type, GameObject posObj = null, bool loop = false,
|
||
// bool isFade = false, float fadeInTime = 4f)
|
||
// {
|
||
// // #if DEVELOPMENT_BUILD || DEBUG
|
||
// // DebugUtil.Log("播放音频:{0}, type:{1}", key, type);
|
||
// // #endif
|
||
// return _PlayAudio(key, type, posObj, loop, isFade, fadeInTime);
|
||
// }
|
||
//
|
||
// public int PlayAudio(string key, EPlayType type, Vector3 pos, bool loop = false,
|
||
// bool isFade = false, float fadeInTime = 4f)
|
||
// {
|
||
// // #if DEVELOPMENT_BUILD || DEBUG
|
||
// // DebugUtil.Log("播放音频:{0}, type:{1}", key, type);
|
||
// // #endif
|
||
// return _PlayAudio(key, type, pos, loop, isFade, fadeInTime);
|
||
// }
|
||
//
|
||
// public int PlayAudio()
|
||
// {
|
||
// return -1;
|
||
// }
|
||
//
|
||
// public void InitLimit(int count0, int count1, int count2)
|
||
// {
|
||
// MusicPoolLimit = count0;
|
||
// SoundPoolLimit = count1;
|
||
// SpeakPoolLimit = count2;
|
||
// }
|
||
//
|
||
// public AudioCriInst GetAudioByID(EPlayType audioType, int id)
|
||
// {
|
||
// if (audioType == EPlayType.Music)
|
||
// {
|
||
// if (_musicAudioDic.ContainsKey(id))
|
||
// {
|
||
// return _musicAudioDic[id];
|
||
// }
|
||
//
|
||
// if (_musicAudioLoopDic.ContainsKey(id))
|
||
// {
|
||
// return _musicAudioLoopDic[id];
|
||
// }
|
||
//
|
||
// return null;
|
||
// }
|
||
//
|
||
// if (audioType == EPlayType.Sound || audioType == EPlayType.Speak)
|
||
// {
|
||
// if (_soundAudioDic.ContainsKey(id))
|
||
// {
|
||
// return _soundAudioDic[id];
|
||
// }
|
||
//
|
||
// if (_soundAudioLoopDic.ContainsKey(id))
|
||
// {
|
||
// return _soundAudioLoopDic[id];
|
||
// }
|
||
//
|
||
// return null;
|
||
// }
|
||
//
|
||
// return null;
|
||
// }
|
||
//
|
||
// public AudioCriInst GetAudioByID(int id)
|
||
// {
|
||
// if (_musicAudioDic.ContainsKey(id))
|
||
// {
|
||
// return _musicAudioDic[id];
|
||
// }
|
||
//
|
||
// if (_musicAudioLoopDic.ContainsKey(id))
|
||
// {
|
||
// return _musicAudioLoopDic[id];
|
||
// }
|
||
//
|
||
// if (_soundAudioDic.ContainsKey(id))
|
||
// {
|
||
// return _soundAudioDic[id];
|
||
// }
|
||
//
|
||
// if (_soundAudioLoopDic.ContainsKey(id))
|
||
// {
|
||
// return _soundAudioLoopDic[id];
|
||
// }
|
||
//
|
||
// return null;
|
||
// }
|
||
//
|
||
// public void StopMusicById(int audioID)
|
||
// {
|
||
// if (audioID >= 0)
|
||
// {
|
||
// if(_musicAudioDic.TryGetValue(audioID, out var audio))
|
||
// {
|
||
// audio.Stop();
|
||
// }
|
||
//
|
||
// if(_musicAudioLoopDic.TryGetValue(audioID, out var audioLoop))
|
||
// {
|
||
// audioLoop.Stop();
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// public void StopSoundByID(int audioID)
|
||
// {
|
||
// if (audioID >= 0)
|
||
// {
|
||
// if(_soundAudioDic.TryGetValue(audioID, out var audio))
|
||
// {
|
||
// audio.Stop();
|
||
// }
|
||
//
|
||
// if(_soundAudioLoopDic.TryGetValue(audioID, out var audioLoop))
|
||
// {
|
||
// audioLoop.Stop();
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// public void StopByID(int audioID)
|
||
// {
|
||
// if (audioID >= 0)
|
||
// {
|
||
// if(_musicAudioDic.TryGetValue(audioID, out var audio))
|
||
// {
|
||
// audio.Stop();
|
||
// }
|
||
//
|
||
// if(_musicAudioLoopDic.TryGetValue(audioID, out var audioLoop))
|
||
// {
|
||
// audioLoop.Stop();
|
||
// }
|
||
//
|
||
// if (_soundAudioDic.TryGetValue(audioID, out var soundAudio))
|
||
// {
|
||
// soundAudio.Stop();
|
||
// }
|
||
//
|
||
// if(_soundAudioLoopDic.TryGetValue(audioID, out var audioLoop1))
|
||
// {
|
||
// audioLoop1.Stop();
|
||
// }
|
||
// }
|
||
//
|
||
// }
|
||
//
|
||
// public void StopAllMusic()
|
||
// {
|
||
// // if (_bgmAudio != null)
|
||
// // {
|
||
// // _bgmAudio.Stop();
|
||
// // }
|
||
// DebugUtil.LogG("StopAllMusic");
|
||
// foreach (var kv in _musicAudioDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// audio.Stop();
|
||
// }
|
||
//
|
||
// foreach (var kv in _musicAudioLoopDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// audio.Stop();
|
||
// }
|
||
// }
|
||
//
|
||
// public void StopAllSounds()
|
||
// {
|
||
// DebugUtil.LogG("StopAllSounds");
|
||
// foreach (var kv in _soundAudioDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// audio.Stop();
|
||
// }
|
||
//
|
||
// foreach (var kv in _soundAudioLoopDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// audio.Stop();
|
||
// }
|
||
// }
|
||
//
|
||
// public void StopAllSpeaks()
|
||
// {
|
||
// DebugUtil.LogG("StopAllSpeaks");
|
||
// foreach (var kv in _soundAudioDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// if(audio.IsSpeak)
|
||
// audio.Stop();
|
||
// }
|
||
// }
|
||
//
|
||
// public void StopAll()
|
||
// {
|
||
// DebugUtil.LogG("StopAll");
|
||
// foreach (var kv in _allAudioDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// audio.Stop();
|
||
// }
|
||
// }
|
||
//
|
||
// public void StopWithFadeByID(int audioID, float fadeOutTime = 1f)
|
||
// {
|
||
// if (audioID >= 0)
|
||
// {
|
||
// if(_musicAudioDic.TryGetValue(audioID, out var audio))
|
||
// {
|
||
// audio.StopWithFade(fadeOutTime);
|
||
// }
|
||
//
|
||
// if(_musicAudioLoopDic.TryGetValue(audioID, out var audioLoop))
|
||
// {
|
||
// audioLoop.StopWithFade(fadeOutTime);
|
||
// }
|
||
//
|
||
// if (_soundAudioDic.TryGetValue(audioID, out var soundAudio))
|
||
// {
|
||
// soundAudio.StopWithFade(fadeOutTime);
|
||
// }
|
||
//
|
||
// if(_soundAudioLoopDic.TryGetValue(audioID, out var audioLoop1))
|
||
// {
|
||
// audioLoop1.StopWithFade(fadeOutTime);
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// public void ResumeAllMusic()
|
||
// {
|
||
//
|
||
// // if (_bgmAudio != null)
|
||
// // {
|
||
// // _bgmAudio.Resume();
|
||
// // }
|
||
// foreach (var kv in _musicAudioDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// audio.Resume();
|
||
// }
|
||
//
|
||
// foreach (var kv in _musicAudioLoopDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// audio.Resume();
|
||
// }
|
||
// }
|
||
//
|
||
// public void StopBGM()
|
||
// {
|
||
// _bgmAudioCri.Stop();
|
||
// }
|
||
//
|
||
// public void AfterSwitchMainCamera(Camera camera)
|
||
// {
|
||
// var listener = camera.GetComponent<CriAtomListener>();
|
||
// if (!listener)
|
||
// {
|
||
// camera.gameObject.AddComponent<CriAtomListener>();
|
||
// }
|
||
// }
|
||
//
|
||
// public CriAtomExAcb GetAcb(string cueSheetName)
|
||
// {
|
||
// return CriAtom.GetAcb(cueSheetName);
|
||
// }
|
||
//
|
||
// public AudioCriInst GetStoryAudioInst()
|
||
// {
|
||
// return _CreateStoryAudio();
|
||
// }
|
||
//
|
||
// public void ReleaseStoryAudios()
|
||
// {
|
||
// foreach (var kv in _storyAudioDic)
|
||
// {
|
||
// var audio = kv.Value;
|
||
// audio.Stop();
|
||
// Object.Destroy(audio.RootGo);
|
||
// _allAudioDic.Remove(audio.audioID);
|
||
// }
|
||
// _storyAudioDic.Clear();
|
||
// }
|
||
//
|
||
// public void PlayByCueName(int audioID, string cueName, bool isFade = false, float fadeOutTime = 4f)
|
||
// {
|
||
// if (_allAudioDic.TryGetValue(audioID, out var audio))
|
||
// {
|
||
// var cueSheet = _GetCriPath(cueName);
|
||
// if (isFade)
|
||
// {
|
||
// audio.PlayWithFade(cueSheet, cueName, fadeOutTime);
|
||
// }
|
||
// else
|
||
// {
|
||
// audio.Play(cueSheet, cueName);
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// public void PlayByCueName(int audioID, string cueName, float fadeInTime, float targetVolume)
|
||
// {
|
||
// if (_allAudioDic.TryGetValue(audioID, out var audio))
|
||
// {
|
||
// var cueSheet = _GetCriPath(cueName);
|
||
// audio.SetTargetVolume(targetVolume);
|
||
// audio.PlayWithFade(cueSheet, cueName, fadeInTime);
|
||
// }
|
||
// }
|
||
//
|
||
// public void ReleaseMusicAudios()
|
||
// {
|
||
// var musicAudioList = _musicAudioDic.ToList();
|
||
// for (int i = musicAudioList.Count - 1; i >= 0; i--)
|
||
// {
|
||
// var kv = musicAudioList[i];
|
||
// var audio = kv.Value;
|
||
// var audioID = kv.Key;
|
||
// audio.Stop();
|
||
// _musicAudioDic.Remove(audioID);
|
||
// _allAudioDic.Remove(audioID);
|
||
// Object.Destroy(audio.RootGo);
|
||
// }
|
||
//
|
||
// var musicAudioLoopList = _musicAudioLoopDic.ToList();
|
||
// for (int i = musicAudioLoopList.Count - 1; i >= 0; i--)
|
||
// {
|
||
// var kv = musicAudioLoopList[i];
|
||
// var audio = kv.Value;
|
||
// var audioID = kv.Key;
|
||
// audio.Stop();
|
||
// _musicAudioLoopDic.Remove(audioID);
|
||
// _allAudioDic.Remove(audioID);
|
||
// Object.Destroy(audio.RootGo);
|
||
// }
|
||
//
|
||
// _musicAudioObj.Clear();
|
||
// _musicAudioDic.Clear();
|
||
// _musicAudioLoopObj.Clear();
|
||
// _musicAudioLoopDic.Clear();
|
||
// }
|
||
//
|
||
// public void ReleaseSoundsAudios()
|
||
// {
|
||
// var soundAudioList = _soundAudioDic.ToList();
|
||
// for (int i = soundAudioList.Count - 1; i >= 0; i--)
|
||
// {
|
||
// var kv = soundAudioList[i];
|
||
// var audio = kv.Value;
|
||
// var audioID = kv.Key;
|
||
// audio.Stop();
|
||
// _soundAudioDic.Remove(audioID);
|
||
// _allAudioDic.Remove(audioID);
|
||
// Object.Destroy(audio.RootGo);
|
||
// }
|
||
//
|
||
// var soundAudioLoopList = _soundAudioLoopDic.ToList();
|
||
// for (int i = soundAudioLoopList.Count - 1; i >= 0; i--)
|
||
// {
|
||
// var kv = soundAudioLoopList[i];
|
||
// var audio = kv.Value;
|
||
// var audioID = kv.Key;
|
||
// audio.Stop();
|
||
// _soundAudioLoopDic.Remove(audioID);
|
||
// _allAudioDic.Remove(audioID);
|
||
// Object.Destroy(audio.RootGo);
|
||
// }
|
||
//
|
||
// _soundAudioObj.Clear();
|
||
// _soundAudioDic.Clear();
|
||
// _soundAudioLoopObj.Clear();
|
||
// _soundAudioLoopDic.Clear();
|
||
// }
|
||
//
|
||
// public void ReleaseAllAudios()
|
||
// {
|
||
// ReleaseMusicAudios();
|
||
// ReleaseSoundsAudios();
|
||
// }
|
||
//
|
||
// public long GetCueLength(string cueSheet, string cueName)
|
||
// {
|
||
// var acb = CriAtom.GetCueSheetInternal(cueSheet).acb;
|
||
// if (acb.GetCueInfo(cueName, out var cueInfo))
|
||
// {
|
||
// var length = cueInfo.length / 1000;
|
||
// return length;
|
||
// }
|
||
//
|
||
// return -1;
|
||
// }
|
||
//
|
||
// public void Add2Playing(AudioBase.AudioType audioType, int id, bool isSpeak = false)
|
||
// {
|
||
// PlayType type;
|
||
// if (audioType == AudioBase.AudioType.Music)
|
||
// {
|
||
// type = PlayType.Music;
|
||
// }
|
||
// else
|
||
// {
|
||
// if (isSpeak)
|
||
// type = PlayType.Speak;
|
||
// else
|
||
// {
|
||
// type = PlayType.Sound;
|
||
// }
|
||
// }
|
||
// var list = _playingLDic[type];
|
||
// if (!list.Contains(id))
|
||
// {
|
||
// list.Add(id);
|
||
// }
|
||
// }
|
||
//
|
||
// public void RemovePlaying(AudioBase.AudioType audioType, int id, bool isSpeak = false)
|
||
// {
|
||
// PlayType type;
|
||
// if (audioType == AudioBase.AudioType.Music)
|
||
// {
|
||
// type = PlayType.Music;
|
||
// }
|
||
// else
|
||
// {
|
||
// if (isSpeak)
|
||
// type = PlayType.Speak;
|
||
// else
|
||
// {
|
||
// type = PlayType.Sound;
|
||
// }
|
||
// }
|
||
// var list = _playingLDic[type];
|
||
// if (list.Contains(id))
|
||
// {
|
||
// list.Remove(id);
|
||
// }
|
||
// }
|
||
//
|
||
// public void RemovePlaying(int id)
|
||
// {
|
||
// foreach (var kv in _playingLDic)
|
||
// {
|
||
// var list = kv.Value;
|
||
// if (list.Contains(id))
|
||
// {
|
||
// list.Remove(id);
|
||
// }
|
||
// }
|
||
// }
|
||
// #endregion
|
||
//
|
||
// }
|
||
//
|
||
// public class AudioCriInst : AudioCri
|
||
// {
|
||
// public AudioCriInst(AudioType audioType, GameObject rootGo, GameObject posGo, AudioInfo audioInfo = new(),
|
||
// bool loop = false, bool is3D = false):base(audioType, rootGo, posGo, audioInfo, loop, is3D)
|
||
// {
|
||
//
|
||
// }
|
||
// } |