如果 source是 videoclip(以下两种方式都可以):

- _videoPlayer.Play();
- Debug.Log("time: " + _videoPlayer.clip.length);
- _videoPlayer.time = 10;
- [SerializeField] VideoPlayer videoPlayer;
-
- public void SetClipWithTime(VideoClip clip, float time)
- {
- StartCoroutine (SetTimeRoutine(clip, time));
- }
-
- IEnumerator SetTimeRoutine (VideoClip clip, float time)
- {
- if(videoPlayer.isPlaying)
- {
- videoPlayer.Stop();
- }
-
- videoPlayer.clip = clip;
-
- videoPlayer.Prepare();
- yield return new WaitUntil (() => videoPlayer.isPrepared);
- yield return new WaitUntil (() => videoPlayer.canSetTime);
-
- videoPlayer.Play();
- videoPlayer.time = time;
- }
如果是source是URL:
- IEnumerator VideoPlay()
- {
- _videoPlayer.Prepare();
-
- yield return new WaitUntil(() => _videoPlayer.isPrepared);
- yield return new WaitUntil(() => _videoPlayer.canSetTime);
- // 检查是否完成初始化
- //while (!_videoPlayer.isPrepared)
- //{
- // yield return new WaitForSeconds(1f);
- // break;
- //}
- // 设置开头是第100帧
- _videoPlayer.frame += 100;
- // 开始播放
- _videoPlayer.Play();
- yield return new WaitForSeconds(0.01f);
- _videoPlayer.Pause();
- }
- IEnumerator VideoPlay()
- {
- _videoPlayer.Prepare();
- // 检查是否完成初始化
- while (!_videoPlayer.isPrepared)
- {
- yield return new WaitForSeconds(1f);
- break;
- }
- // 设置开头是第100帧
- _videoPlayer.frame += 100;
- // 开始播放
- _videoPlayer.Play();
- //yield return new WaitForSeconds(0.01f);
- //_videoPlayer.Pause();
- }