/// <summary> /// 尝试重新加载 /// </summary> /// <returns></returns> protected virtual bool Retry() { if (_loadParams.ContainsKey(LoadParam.RETRY_COUNT) == false) { return(false); } int maxRetryCount = (int)_loadParams[LoadParam.RETRY_COUNT]; if (_retryCount < maxRetryCount) { _retryCount++; if (_request != null) { _request.Dispose(); _request = null; } _task.Stop(); _stats.Reset(); _state = LoadState.STARTED; _stats.Start(); _task.routine = InvokeLoading(); _task.Start(); return(true); } else { return(false); } }
/// <summary> /// 停止 /// </summary> public void Stop() { // 正在加载中则停止加载 if (_state == AudioState.LOADING) { StopLoad(); } // 正在播放中则停止协程 if (_task != null) { _task.Stop(); } // 正在播放中则停止播放 _state = AudioState.STOP; _audioSource.Stop(); }