Example #1
0
        private RenderTexture setupRenderTexture(RenderTexture rt = null, enVideoPlayMode mode = enVideoPlayMode.CG)
        {
            int width = mode == enVideoPlayMode.CG
                ? AppConst.VideoConfig.CGVideoWidth
                : AppConst.VideoConfig.UIVideoWidth;
            int height = mode == enVideoPlayMode.CG
                ? AppConst.VideoConfig.CGVideoHeight
                : AppConst.VideoConfig.UIVideoHeight;
            RenderTexture currentRenderTexture = rt;

            if (rt == null || rt.width != width || rt.height != height)
            {
                if (rt != null)
                {
                    RenderTexture.ReleaseTemporary(rt);
                }
                currentRenderTexture                  = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.RGB565);
                currentRenderTexture.name             = "VideoPlayerRenterTexture" + currentRenderTexture.GetHashCode();
                currentRenderTexture.autoGenerateMips = false;
            }
            return(currentRenderTexture);
        }
Example #2
0
 public void PlayVideo(string videoUrl, RawImage image, Action onStart, Action onEnd, bool isLoop = false, bool isPause = false, bool isStopOnClick = false, enVideoPlayMode mode = enVideoPlayMode.CG)
 {
     if (videoPlayer == null)
     {
         return;
     }
     renderTexture = setupRenderTexture(renderTexture, mode);
     if (videoPlayer.isPlaying)
     {
         StopVideo();
     }
     if (image == null)
     {
         if (!videoObject.activeSelf)
         {
             videoObject.SetActive(true);
         }
         videoRawImage.texture = renderTexture;
         SetVideoAspect(videoRawImage);
     }
     else
     {
         if (videoObject != null && videoObject.activeSelf)
         {
             videoObject.SetActive(false);
         }
         if (videoRawImage != null)
         {
             videoRawImage.texture = null;
         }
         image.texture = renderTexture;
         SetVideoAspect(image);
     }
     videoStatrPlayCallback    = OnStart;
     videoEndCallback          = onEnd;
     stopOnClick               = isStopOnClick;
     isPauseOnFirstFrame       = isPause;
     videoPlayer.url           = videoUrl;
     videoPlayer.isLooping     = isLoop;
     audioSource.volume        = 1f;
     videoPlayer.targetTexture = renderTexture;
 }