private void Update()
        {
            if (player == null)
            {
                return;
            }
            else if (player.PlayerState == GvrVideoPlayerTexture.VideoPlayerState.Ended &&
                     done &&
                     loop)
            {
                player.Pause();
                player.CurrentPosition = 0;
                done = false;
                t    = 0f;
                return;
            }

            if (done)
            {
                return;
            }

            t += Time.deltaTime;
            if (t >= delay && player != null && player.Play())
            {
                done = true;
            }
        }
예제 #2
0
        private IEnumerator BriefUnpause()
        {
            do
            {
                yield return(new WaitForEndOfFrame());
            } while (!videoPlayer.VideoReady);

            videoPlayer.Play();

            do
            {
                yield return(new WaitForEndOfFrame());
            } while (!videoPlayer.VideoReady);

            videoPlayer.Pause();
            briefUnpauseCoroutine = null;
        }
예제 #3
0
        void Update()
        {
            if (player == null)
            {
                return;
            }
            else if (player.PlayerState == GvrVideoPlayerTexture.VideoPlayerState.Ended && done)
            {
                player.Pause();
                player.CurrentPosition = 0;
                done = false;
                t    = 0f;
                controler.SetActive(true);
                if (UI.instance.getQueue())
                {
                    UI.instance.videostart();
                }
                else if (UI.instance.gettf())
                {
                }
                else
                {
                    UI.instance.settf(false);
                }
                return;
            }
            if (done)
            {
                return;
            }

            t += Time.deltaTime;
            if (t >= delay && player != null)
            {
                player.Play();
                done = true;
            }
        }
예제 #4
0
    internal override void Update()
    {
        base.Update();

        switch (mReserveControl)
        {
        case ReserveControl.Pause:
            if (mVideoTexture.Pause())
            {
                mReserveControl = ReserveControl.None;
            }
            break;

        case ReserveControl.Play:
            if (mVideoTexture.Play())
            {
                mReserveControl = ReserveControl.None;
            }
            break;
        }

        if (mClickHelper.ClickStatus == ClickStatus.Up)
        {
            GameObject clickedGO = mClickHelper.ClickedGameObject;
            if (clickedGO != null && clickedGO.name.CompareTo("VideoPlayer") == 0)
            {
                GvrVideoPlayerTexture videoTexture = clickedGO.GetComponent <GvrVideoPlayerTexture>();
                if (videoTexture.IsPaused)
                {
                    if (!string.IsNullOrEmpty(videoTexture.videoURL))
                    {
                        if (videoTexture.videoURL.StartsWith("http"))
                        {
                            // そのまま再生を試みる
                            if (!videoTexture.Play())
                            {
                                mReserveControl = ReserveControl.Play;
                                mLogger.CategoryLog(LogCategoryMethodTrace, "Play video is failed, Reserved");
                            }
                            else
                            {
                                mReserveControl = ReserveControl.None;
                                mLogger.CategoryLog(LogCategoryMethodTrace, "Play video");
                            }
                        }
                        else
                        {
                            // ローカルファイルのため、external storageへのアクセス権限を確認
                            RuntimePermissionHelper helper = new RuntimePermissionHelper(mLogger);
                            helper.RequestPermission(RuntimePermissionHelper.READ_EXTERNAL_STORAGE, delegate(GvrPermissionsRequester.PermissionStatus[] permissionStatusArray)
                            {
                                bool needFinish = true;

                                if (permissionStatusArray != null && permissionStatusArray.Length > 0)
                                {
                                    if (permissionStatusArray[0].Name.CompareTo(RuntimePermissionHelper.READ_EXTERNAL_STORAGE.Name) == 0 && permissionStatusArray[0].Granted)
                                    {
                                        needFinish = false;
                                        if (!videoTexture.Play())
                                        {
                                            mReserveControl = ReserveControl.Play;
                                            mLogger.CategoryLog(LogCategoryMethodTrace, "Play video is failed, Reserved");
                                        }
                                        else
                                        {
                                            mReserveControl = ReserveControl.None;
                                            mLogger.CategoryLog(LogCategoryMethodTrace, "Play video");
                                        }
                                    }
                                }

                                if (needFinish)
                                {
                                    PopCurrentScene();
                                }
                            });
                        }
                    }
                }
                else
                {
                    if (!videoTexture.Pause())
                    {
                        mReserveControl = ReserveControl.Pause;
                        mLogger.CategoryLog(LogCategoryMethodTrace, "Pause video is failed, Reserved");
                    }
                    else
                    {
                        mReserveControl = ReserveControl.None;
                        mLogger.CategoryLog(LogCategoryMethodTrace, "Pause video");
                    }
                }
            }
        }
        else if (mClickHelper.AppButtonStatus == ButtonPushStatus.Up)
        {
            PopCurrentScene();
        }
    }
예제 #5
0
 public void OnPauseClicked()
 {
     playButton.SetActive(true);
     pauseButton.SetActive(false);
     video.Pause();
 }