예제 #1
0
 public void OnPlayerSnapshotTaken(string path)
 {
     if (_snapshotTakenEvent != null)
     {
         _snapshotTakenEvent.Invoke(path);
     }
 }
예제 #2
0
    public void OnPathPrepared(string path, bool playImmediately)
    {
#if UNITY_EDITOR
        if (EditorApplication.isPaused)
        {
            return;
        }
#endif

        _mediaPlayer.Mute         = _mute;
        _mediaPlayer.Volume       = _volume;
        _mediaPlayer.PlaybackRate = _playRate;

        if (!_path.Equals(_tmpPath))
        {
            if (IsPlaying)
            {
                Stop();
            }

            _tmpPath = _path;
            _mediaPlayer.DataSource = new Uri(path);
        }

        if (!playImmediately)
        {
            _mediaPlayer.Prepare();
        }
        else
        {
            _mediaPlayer.Play();
        }

        if (_mediaPlayerLoop != null && !_mediaPlayerLoop.IsReady)
        {
            _mediaPlayerLoop.DataSource = _mediaPlayer.DataSource;
            _mediaPlayerLoop.Prepare();
        }

        if (_pathPreparedEvent != null)
        {
            _pathPreparedEvent.Invoke(path);
        }
    }