Why video texture missing after playing video for the second time? and only play the audio

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;

public class StreamVideo : MonoBehaviour {

public RawImage image;

public VideoClip videoToPlay;

private VideoPlayer videoPlayer;
private VideoSource videoSource;

private AudioSource audioSource;

void Start () {
	Application.runInBackground = true;

IEnumerator playVideo()

	videoPlayer = gameObject.AddComponent<VideoPlayer>();

	audioSource = gameObject.AddComponent<AudioSource>();

	videoPlayer.playOnAwake = true;
	audioSource.playOnAwake = true;

	videoPlayer.source = VideoSource.VideoClip;

	videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;

	videoPlayer.EnableAudioTrack(0, true);
	videoPlayer.SetTargetAudioSource(0, audioSource);

	videoPlayer.clip = videoToPlay;

	WaitForSeconds waitTime = new WaitForSeconds(1);
	while (!videoPlayer.isPrepared)
		Debug.Log("Preparing Video");
		yield return waitTime;

	Debug.Log("Done Preparing Video");

	image.texture = videoPlayer.texture;



	Debug.Log("Playing Video");
	while (videoPlayer.isPlaying)
		Debug.LogWarning("Video Time: " + Mathf.FloorToInt((float)videoPlayer.time));
		yield return null;
	Debug.Log("Done Playing Video");


when i play video for the first time


and this when i back and touch the button for the second time to play video


I have same problém :frowning:
Did anybody find solution?

I had a similar issue; for me this works
void FixedUpdate ()

Use StartCoroutine in FixedUpdate instead Start

For anyone that comes after myself, I had the same issue but I managed to fix it by setting the ‘Play On Awake’ of the Video Player component to checked.

I am not sure how this fixed it, but I hope it is the solution for anyone else159438-screenshot-2020-05-14-at-090452.png