Beispiel #1
0
        public void Release()
        {
            Stop();

            if (_mediaPlayer != null)
            {
                // Release MediaPlayer
                _mediaPlayer.Release();
                _mediaPlayer = null;

                if (_mediaPlayerLoop != null)
                {
                    _mediaPlayerLoop.Release();
                }

                RemoveListeners();

                _openingEvent.RemoveAllListeners();
                _bufferingEvent.RemoveAllListeners();
                _imageReadyEvent.RemoveAllListeners();
                _preparedEvent.RemoveAllListeners();
                _playingEvent.RemoveAllListeners();
                _pausedEvent.RemoveAllListeners();
                _stoppedEvent.RemoveAllListeners();
                _endReachedEvent.RemoveAllListeners();
                _encounteredErrorEvent.RemoveAllListeners();
                _timeChangedEvent.RemoveAllListeners();
                _positionChangedEvent.RemoveAllListeners();
                _snapshotTakenEvent.RemoveAllListeners();
            }
        }
    public void Release()
    {
#if UNITY_EDITOR
        if (EditorApplication.playmodeStateChanged != null)
        {
            EditorApplication.playmodeStateChanged -= HandleOnPlayModeChanged;
            EditorApplication.playmodeStateChanged  = null;
        }
#endif
        Stop();

        if (_mediaPlayer != null)
        {
            // Release MediaPlayer
            _mediaPlayer.Release();
            _mediaPlayer = null;

            if (_mediaPlayerLoop != null)
            {
                _mediaPlayerLoop.Release();
            }

            if (_videoHostingParser != null)
            {
                _videoHostingParser.Release();
            }

            RemoveListeners();

            _openingEvent.RemoveAllListeners();
            _bufferingEvent.RemoveAllListeners();
            _preparedEvent.RemoveAllListeners();
            _playingEvent.RemoveAllListeners();
            _pausedEvent.RemoveAllListeners();
            _stoppedEvent.RemoveAllListeners();
            _endReachedEvent.RemoveAllListeners();
            _encounteredErrorEvent.RemoveAllListeners();
            _timeChangedEvent.RemoveAllListeners();
            _positionChangedEvent.RemoveAllListeners();
            _snapshotTakenEvent.RemoveAllListeners();
        }
    }