Ejemplo n.º 1
0
        // Callback function to handle events
        public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et,
                                 ErrorCode errorCode)
        {
            switch (et)
            {
            case MediaPlayerEvent.EventType.ReadyToPlay:
                mediaPlayer.Control.Play();
                break;

            case MediaPlayerEvent.EventType.FirstFrameReady:
                Debug.Log("First frame ready");
                OnNewMediaReady();
                break;

            case MediaPlayerEvent.EventType.FinishedPlaying:
                mediaPlayer.Control.Rewind();
                break;
            }
            Debug.Log("Event: " + et.ToString());
        }
Ejemplo n.º 2
0
        // Callback function to handle events
        public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
        {
            switch (et)
            {
            case MediaPlayerEvent.EventType.ReadyToPlay:
                break;

            case MediaPlayerEvent.EventType.Started:
                break;

            case MediaPlayerEvent.EventType.FirstFrameReady:
                SwapPlayers();
                break;

            case MediaPlayerEvent.EventType.FinishedPlaying:
                break;
            }

            Debug.Log("Event: " + et.ToString());
        }
Ejemplo n.º 3
0
 protected void onVideoEvent(MediaPlayer player, MediaPlayerEvent.EventType eventType, ErrorCode errorCode)
 {
     if (eventType == MediaPlayerEvent.EventType.FinishedPlaying)
     {
         // 播放完后设置为停止状态
         clearAndCallEvent(false);
     }
     else if (eventType == MediaPlayerEvent.EventType.ReadyToPlay)
     {
         // 视频准备完毕时,设置实际的状态
         if (mMediaPlayer.Control == null)
         {
             UnityUtility.logError("video is ready, but MediaPlayer.Control is null!");
         }
         notifyVideoReady(true);
     }
     else if (eventType == MediaPlayerEvent.EventType.Error)
     {
         UnityUtility.logError("error code : " + errorCode);
     }
 }
Ejemplo n.º 4
0
        // Callback function to handle events
        private void OnMediaPlayerEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
        {
            switch (et)
            {
            case MediaPlayerEvent.EventType.FirstFrameReady:
                if (_isUserMaterial && null != GetRequiredShader())
                {
                    Debug.LogWarning("[AVProVideo] Custom material is being used but the video requires our internal shader for correct rendering.  Consider removing custom shader or modifying it for AVPro Video support.", this);
                }
                LateUpdate();
                break;

            case MediaPlayerEvent.EventType.PropertiesChanged:
            case MediaPlayerEvent.EventType.ResolutionChanged:
            case MediaPlayerEvent.EventType.Closing:
                LateUpdate();
                break;
            }
            // TODO: remove this, we're just doing this so we can make sure texture is correct when running in EDIT mode
            LateUpdate();
        }
Ejemplo n.º 5
0
        public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
        {
            switch (et)
            {
            case MediaPlayerEvent.EventType.MetaDataReady:
                _videoFrameRate       = mp.Info.GetVideoFrameRate();
                _elapsedTimeSinceBase = 0f;
                if (_videoFrameRate > 0f)
                {
                    _elapsedTimeSinceBase = _bufferSize / _videoFrameRate;
                }
                break;

            case MediaPlayerEvent.EventType.Closing:
                Reset();
                break;

            default:
                break;
            }
        }
Ejemplo n.º 6
0
        private void OnPlayerEvents(MediaPlayer mediaPlayer, MediaPlayerEvent.EventType eventType, ErrorCode errorCode)
        {
            if (eventType == MediaPlayerEvent.EventType.FirstFrameReady)        // 视频加载完成
            {
                if (onVideoFrameReady != null)
                {
                    onVideoFrameReady(mediaPlayer);
                    onVideoFrameReady = null;
                }

                // 这里抛视频加载完成事件
            }

            else if (eventType == MediaPlayerEvent.EventType.FinishedSeeking)   // 视频跳帧完成
            {
                isSeekingCur  = mediaPlayer == CurMediaPlayer ? false : isSeekingCur;
                isSeekingLoad = mediaPlayer == LoadMediaPlayer ? false : isSeekingLoad;

                if (isLoadWaitSeekFinish)
                {
                    isLoadWaitSeekFinish = false;
                    SwapPlayer();
                }

                if (onVideoSeekFinished != null)
                {
                    onVideoSeekFinished(mediaPlayer);
                    onVideoSeekFinished = null;
                }
            }

            else if (eventType == MediaPlayerEvent.EventType.FinishedPlaying)
            {
                if (onVideoPlayFinished != null)
                {
                    onVideoPlayFinished();
                    onVideoPlayFinished = null;
                }
            }
        }
Ejemplo n.º 7
0
 protected void onVideoEvent(MediaPlayer player, MediaPlayerEvent.EventType eventType, ErrorCode errorCode)
 {
     logInfo("video event : " + eventType, LOG_LEVEL.LL_HIGH);
     if (eventType == MediaPlayerEvent.EventType.FinishedPlaying)
     {
         // 播放完后设置为停止状态
         clearAndCallEvent(ref mVideoEndCallback, false);
     }
     else if (eventType == MediaPlayerEvent.EventType.ReadyToPlay)
     {
         // 视频准备完毕时,设置实际的状态
         if (mMediaPlayer.Control == null)
         {
             logError("video is ready, but MediaPlayer.Control is null!");
         }
         notifyVideoReady(true);
     }
     else if (eventType == MediaPlayerEvent.EventType.Error)
     {
         logError("video error code : " + errorCode);
     }
 }
Ejemplo n.º 8
0
        // Callback function to handle events
        public void OnMediaPlayerEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
        {
            switch (et)
            {
            case MediaPlayerEvent.EventType.ReadyToPlay:
                break;

            case MediaPlayerEvent.EventType.Started:
                break;

            case MediaPlayerEvent.EventType.FirstFrameReady:
                break;

            case MediaPlayerEvent.EventType.MetaDataReady:
                GatherProperties();
                break;

            case MediaPlayerEvent.EventType.FinishedPlaying:
                break;
            }

            AddEvent(et);
        }
Ejemplo n.º 9
0
    public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
    {
        switch (et)
        {
        case MediaPlayerEvent.EventType.ReadyToPlay:
            mp.Control.Play();
            mp.Control.Stop();
            mp.Control.Rewind();
            break;

        case MediaPlayerEvent.EventType.FirstFrameReady:
            onFrameReady();
            break;

        case MediaPlayerEvent.EventType.FinishedPlaying:
            onFinished();
            break;

        case MediaPlayerEvent.EventType.Started:
            startPlayEvent();
            break;
        }
    }
Ejemplo n.º 10
0
        private void OnVideoEvent(MediaPlayer player, MediaPlayerEvent.EventType eventType, ErrorCode errorCode)
        {
            Debug.Log(eventType);
            switch (eventType)
            {
            case MediaPlayerEvent.EventType.FirstFrameReady:
                if (AppSession.InViewer)
                {
                    WindowManager.Instance.SetupForVideoPlayback();
                    ActivateStereoViewer();
                }
                break;

            case MediaPlayerEvent.EventType.Error:
                if (AppSession.InViewer)
                {
                    AppSession.InViewer = false;
                    WindowManager.Instance.ChangeWindow(WindowNames.FailureWindow);
                    WindowManager.Instance.GetWindow <AlertWindow>(WindowNames.AlertWindow).DisplayMessage(VideoErrorMessage);
                }
                break;
            }
        }
Ejemplo n.º 11
0
    // Callback function to handle events
    public void OnMediaPlayerEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
    {
        switch (et)
        {
        case MediaPlayerEvent.EventType.ReadyToPlay:
            break;

        case MediaPlayerEvent.EventType.Started:
            break;

        case MediaPlayerEvent.EventType.FirstFrameReady:
            break;

        case MediaPlayerEvent.EventType.MetaDataReady:
            //GatherProperties();
            break;

        case MediaPlayerEvent.EventType.FinishedPlaying:

            Debug.Log("Video is finished");

            GameObject canvas = GameObject.Find(AppManager.nameOfMainCanvas);
            _appManager = canvas.GetComponent <AppManager> ();

            _appManager.currentPanelIndex = 0;
            _appManager.BasicOpenNextPanel();
            videoDisplay.gameObject.SetActive(false);
            _appManager.currentState = AppManager.UIState.UIStateMain;

            _appManager.waitTimestamp = Time.time + _appManager.restartWaitTime;             // reset timeout

            break;
        }

        //AddEvent(et);
    }
Ejemplo n.º 12
0
        private void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode error)
        {
            switch (et)
            {
            case MediaPlayerEvent.EventType.FinishedPlaying:
                print("FinishedPlaying");
                print(mp.name);
                movieFinishEvent.Invoke(GetMovieNum(mp.name));
                break;

            case MediaPlayerEvent.EventType.ReadyToPlay:
                readyToPlayCount++;

                if (readyToPlayCount == uiMovies.Length)
                {
                    LoadedUIMovieEvent.Invoke();
                }
                break;

                /*case MediaPlayerEvent.EventType.MetaDataReady:
                 *                          Debug.Log("MediaPlayerEvent:MetaDataReady");
                 *                          break;
                 *
                 *                  case MediaPlayerEvent.EventType.ReadyToPlay:
                 *                          Debug.Log("MediaPlayerEvent:ReadyToPlay");
                 *                          //mp.Control.Play();
                 *                          break;
                 *                  case MediaPlayerEvent.EventType.FirstFrameReady:
                 *                          Debug.Log("MediaPlayerEvent:FirstFrameReady");
                 *                          break;
                 *                          break;
                 *                  case MediaPlayerEvent.EventType.Started:
                 *                          Debug.Log("MediaPlayerEvent:Started");
                 *                          break;*/
            }
        }
Ejemplo n.º 13
0
        private bool CanFireEvent(MediaPlayerEvent.EventType et, bool hasFired)
        {
            bool result = false;

            if (_events != null && _controlInterface != null && !hasFired && IsHandleEvent(et))
            {
                switch (et)
                {
                case MediaPlayerEvent.EventType.FinishedPlaying:
                    result = (!_controlInterface.IsLooping() && _controlInterface.CanPlay() && _controlInterface.IsFinished());
                    break;

                case MediaPlayerEvent.EventType.MetaDataReady:
                    result = (_controlInterface.HasMetaData());
                    break;

                case MediaPlayerEvent.EventType.FirstFrameReady:
                    // [MOZ 20/1/21] Removed HasMetaData check as preventing the event from being triggered on (i|mac|tv)OS
                    result = (_textureInterface != null && _controlInterface.CanPlay() /*&& _controlInterface.HasMetaData()*/ && _textureInterface.GetTextureFrameCount() > 0);
                    break;

                case MediaPlayerEvent.EventType.ReadyToPlay:
                    result = (!_controlInterface.IsPlaying() && _controlInterface.CanPlay() && !_autoPlayOnStart);
                    break;

                case MediaPlayerEvent.EventType.Started:
                    result = (_controlInterface.IsPlaying());
                    break;

                case MediaPlayerEvent.EventType.SubtitleChange:
                {
                    result = (_previousSubtitleIndex != _subtitlesInterface.GetSubtitleIndex());
                    if (!result)
                    {
                        result = _baseMediaPlayer.InternalIsChangedTextCue();
                    }
                    break;
                }

                case MediaPlayerEvent.EventType.Stalled:
                    result = _infoInterface.IsPlaybackStalled();
                    break;

                case MediaPlayerEvent.EventType.Unstalled:
                    result = !_infoInterface.IsPlaybackStalled();
                    break;

                case MediaPlayerEvent.EventType.StartedSeeking:
                    result = _controlInterface.IsSeeking();
                    break;

                case MediaPlayerEvent.EventType.FinishedSeeking:
                    result = !_controlInterface.IsSeeking();
                    break;

                case MediaPlayerEvent.EventType.StartedBuffering:
                    result = _controlInterface.IsBuffering();
                    break;

                case MediaPlayerEvent.EventType.FinishedBuffering:
                    result = !_controlInterface.IsBuffering();
                    break;

                case MediaPlayerEvent.EventType.ResolutionChanged:
                    result = (_infoInterface != null && (_eventState_PreviousWidth != _infoInterface.GetVideoWidth() || _eventState_PreviousHeight != _infoInterface.GetVideoHeight()));
                    break;

                default:
                    Debug.LogWarning("[AVProVideo] Unhandled event type");
                    break;
                }
            }
            return(result);
        }
Ejemplo n.º 14
0
        // Callback function to handle events
        public void OnMediaPlayerEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
        {
            switch (et)
            {
            case MediaPlayerEvent.EventType.Error:
                StateController.Instance.SetSelectedClip(true);
                break;

            case MediaPlayerEvent.EventType.ReadyToPlay:
                //_mediaPlayer.Control.Seek(Offset);
                // _mediaPlayer.Control.Play();
                break;

            case MediaPlayerEvent.EventType.Started:

                DateTime localDate = DateTime.Now;
                int      mSec      = (Int32.Parse(localDate.ToString("HH")) * 3600 + Int32.Parse(localDate.ToString("mm")) * 60 + Int32.Parse(localDate.ToString("ss"))) * 1000;
                var      Item      = DataSchedule.Instance.GetDataschedules()
                                     .Find(
                    elm =>
                    Int32.Parse(elm.TimeStart) <= mSec &&
                    (Int32.Parse(elm.TimeStart) + Int32.Parse(elm.duration) * 1000) > mSec);
                Offset = mSec - Int32.Parse(Item.TimeStart);
                _mediaPlayer.Control.Seek(Offset);


                break;

            case MediaPlayerEvent.EventType.FirstFrameReady:

                // _mediaPlayer.Control.Seek(Offset);
                if (StateController.Instance.GetIsFirstDowloadClip())
                {
                    if (!StateController.Instance.GetIsDowloadMovie())
                    {
                        StateController.Instance.SetstopDowloadMovie(false);
                        StateController.Instance.StartDeleteClip();
                    }

                    StateController.Instance.SetIsFirstDowload(false);
                }
                break;

            case MediaPlayerEvent.EventType.MetaDataReady:
                GatherProperties();
                break;

            case MediaPlayerEvent.EventType.FinishedPlaying:
                if (false)
                {
                    int curCL = StateController.Instance.GetCurrentClip();
                    curCL++;
                    if (curCL == DataSchedule.Instance.GetDataschedules().Count)
                    {
                        curCL = 0;
                    }
                    StateController.Instance.SetCurrentClip(curCL);

                    string pathLoad = null;
                    //  Debug.Log("CurrentNumberClip=" + CurrentNumberClip + "    PathLocal=" + DataSchedule.Instance.GetDataschedules()[CurrentNumberClip].PathLocal);
                    if (!string.IsNullOrEmpty(DataSchedule.Instance.GetDataschedules()[StateController.Instance.GetCurrentClip()].PathLocal))
                    {
                        pathLoad = DataSchedule.Instance.GetDataschedules()[StateController.Instance.GetCurrentClip()].PathLocal;
                    }
                    else
                    {
                        pathLoad = DataSchedule.Instance.GetDataschedules()[StateController.Instance.GetCurrentClip()].PathLoad;
                    }
                    int offset = 0;
                    ReplacePlayVideo(pathLoad, offset, false);
                }

                break;
            }

            // AddEvent(et);
        }
 // Callback function to handle events
 private void OnMediaPlayerEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
 {
     AddEvent(et);
 }
Ejemplo n.º 16
0
        // Callback function to handle events
        public void OnVideoEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
        {
            switch (et)
            {
            case MediaPlayerEvent.EventType.ReadyToPlay:

                break;

            case MediaPlayerEvent.EventType.Started:

                break;

            case MediaPlayerEvent.EventType.FirstFrameReady:
                SwapPlayers();
                break;

            case MediaPlayerEvent.EventType.FinishedPlaying:
                // main 으로 ..

                //OnOpenVideoInx(0);


                if (_VideoIndex == 4)
                {
                    OnOpenVideoInx(1);
                }
                else if (_VideoIndex == 13)
                {
                    ChangeScene("Libirary");
                }
                else if (_VideoIndex == 6 || _VideoIndex == 10)
                {
                    OnOpenVideoInx(10);
                }
                else if (_VideoIndex == 12)
                {
                    OnOpenVideoInx(2);
                }
                else if (_VideoIndex == 17)
                {
                    ChangeScene("Cartoon");
                }
                else if (_VideoIndex == 9)
                {
                    ChangeScene("PaintingGameChoose");
                }
                else if (_VideoIndex == 8)
                {
                    ChangeScene("BubleGameChoose");
                }
                else if (_VideoIndex == 18)
                {
                    SceneManager.LoadScene("Main");
                }
                else if (19 <= _VideoIndex && _VideoIndex <= 23)
                {
                    DataSender.Instance.danceIndex = _VideoIndex - 19;
                    ChangeScene("Dance");
                }
                else
                {
                    SaveVideoData();
                    SceneManager.LoadScene("Main");
                }


                break;

            case MediaPlayerEvent.EventType.Stalled:

                break;
            }
        }
Ejemplo n.º 17
0
 protected bool IsHandleEvent(MediaPlayerEvent.EventType eventType)
 {
     return ((uint)m_eventMask & (1 << (int)eventType)) != 0;
 }