示例#1
0
        /// <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);
            }
        }
示例#2
0
        /// <summary>
        /// 停止
        /// </summary>
        public void Stop()
        {
            // 正在加载中则停止加载
            if (_state == AudioState.LOADING)
            {
                StopLoad();
            }

            // 正在播放中则停止协程
            if (_task != null)
            {
                _task.Stop();
            }

            // 正在播放中则停止播放
            _state = AudioState.STOP;
            _audioSource.Stop();
        }