// 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()); }
// 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()); }
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); } }
// 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(); }
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; } }
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; } } }
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); } }
// 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); }
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; } }
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; } }
// 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); }
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;*/ } }
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); }
// 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); }
// 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; } }
protected bool IsHandleEvent(MediaPlayerEvent.EventType eventType) { return ((uint)m_eventMask & (1 << (int)eventType)) != 0; }