• 2017VideoPlayer


    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;
        
        // Use this for initialization
        void Start () {
            Application.runInBackground = true;
            StartCoroutine(playVideo());
        }
    
        IEnumerator playVideo()
        {
          
            //Add VideoPlayer to the GameObject
            videoPlayer = gameObject.AddComponent<VideoPlayer>();
    
            //Add AudioSource
            audioSource = gameObject.AddComponent<AudioSource>();
    
            //Disable Play on Awake for both Video and Audio
            videoPlayer.playOnAwake = false;
            audioSource.playOnAwake = false;
            audioSource.Pause();
    
            //We want to play from video clip not from url
            
            videoPlayer.source = VideoSource.VideoClip;
    
            // Vide clip from Url
            //videoPlayer.source = VideoSource.Url;
            //videoPlayer.url = "http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4";
    
    
            //Set Audio Output to AudioSource
            videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;
    
            //Assign the Audio from Video to AudioSource to be played
            videoPlayer.EnableAudioTrack(0, true);
            videoPlayer.SetTargetAudioSource(0, audioSource);
    
            //Set video To Play then prepare Audio to prevent Buffering
            videoPlayer.clip = videoToPlay;
            videoPlayer.Prepare();
    
            //Wait until video is prepared
            WaitForSeconds waitTime = new WaitForSeconds(1);
            while (!videoPlayer.isPrepared)
            {
                Debug.Log("Preparing Video");
                //Prepare/Wait for 5 sceonds only
                yield return waitTime;
                //Break out of the while loop after 5 seconds wait
                break;
            }
    
            Debug.Log("Done Preparing Video");
    
            //Assign the Texture from Video to RawImage to be displayed
            image.texture = videoPlayer.texture;
    
            //Play Video
            videoPlayer.Play();
    
            //Play Sound
            audioSource.Play();
    
            Debug.Log("Playing Video");
            while (videoPlayer.isPlaying)
            {
                Debug.LogWarning("Video Time: " + Mathf.FloorToInt((float)videoPlayer.time));
                yield return null;
            }
            Debug.Log("Done Playing Video");
        }
    }
  • 相关阅读:
    使用GoogleCode作SVN服务器的一些问题及解决办法
    【转】hibernate中的映射文件xxx.hbm.xml详解总结
    Connection cannot be null when 'hibernate.dialect' not set
    <mvc:view-controller path=""/>标签的作用
    mysql 5.7.18版本 sql_mode 问题
    搭建Spring所需的各类jar包汇总详解
    WEB-INF目录与META-INF目录的作用
    【转】NPIV
    Java中继承thread类与实现Runnable接口的区别
    centos6.5 配置本地yum源
  • 原文地址:https://www.cnblogs.com/JimmyCode/p/7606978.html
Copyright © 2020-2023  润新知