在 Unity 中播放视频之前的白框而不是自定义缩略图

White frame before video plays in Unity instead of a custom thumbnail

我在开始播放视频前加载了一个缩略图,但后来播放视频时,先是一个白框,然后才开始播放。我怎样才能避免这个白框??

这是我的代码-

video.GetComponent<RawImage>().texture = thumbnailTex;
//Play the video:
RenderTexture rt = new RenderTexture(1920, 1080, 16, RenderTextureFormat.ARGB32);
rt.Create();
video.GetComponent<RawImage>().texture =rt;
video.GetComponent<RawImage>().targetTexture=rt;
video.GetComponent<VideoPlayer>().url = "www....";
video.GetComponent<VideoPlayer>().Play();
// white frame, and then the video is playing

您需要先等待并测试视频是否可以播放

如果上面的代码不是已经在一个协程中就更好了。发生的事情是你在玩家有机会 download/load 第一帧之前调用播放。然后显示你的渲染纹理。

video.GetComponent().url = "...";
    video.GetComponent().Prepare(); 
    while (!video.GetComponent().isPrepared) 
        yield return new WaitForEndOfFrame(); 
    video.GetComponent().frame = 0; //just incase it's not at the first frame
    video.GetComponent().Play();
    //now display your render texture