02
2020
03

如何实现加载外部视频并播放?

外部视频文件:目前测试仅支持ogg格式(设置网络获取视频时,必须将MIME设置.ogg为application/octet-stream)


场景设置:MainCamera上添加AudioSource脚本;播放物体上(如Plane)添加MovieTest脚本


MovieTest脚本:

using UnityEngine;  
using System.Collections;  
 
public class MovieTest : MonoBehaviour  
{  
    //视频纹理   
    protected MovieTexture movTexture;
 
    AudioClip audio;
    AudioSource AudioSource1;
 
    void Start()  
    {  
        StartCoroutine(DownLoadMovie());   
    }  
 
    void OnGUI()  
    {  
        if (GUILayout.Button("播放/继续"))  
        {  
            //播放/继续播放视频   
            if (!movTexture.isPlaying)  
            {  
                movTexture.Play();  
                AudioSource1.Play();
            }  
        }  
 
        if (GUILayout.Button("暂停播放"))  
        {  
            //暂停播放   
            movTexture.Pause();  
            AudioSource1.Pause(); 
        }  
 
        if (GUILayout.Button("停止播放"))  
        {  
            //停止播放   
            movTexture.Stop();  
            AudioSource1.Stop();
        }  
    }  
 
    IEnumerator DownLoadMovie()  
    {  
        WWW www = new WWW ("http://127.0.0.1/Wildlife.ogg");//"file://" + Application.dataPath + "/Resources/Wildlife.ogg");  
        yield return www;   
        movTexture = www.movie; 
 
        //获取主相机的声源
        AudioSource1 = Camera.main.GetComponent(typeof(AudioSource)) as AudioSource;
        //获取视频的声音设置到声源上
        AudioSource1.clip = movTexture.audioClip;
        audio = AudioSource1.clip;
 
 
        //设置当前对象的主纹理为电影纹理   
        renderer.material.mainTexture = movTexture;  
        //设置电影纹理播放模式为循环 
        movTexture.loop = true;
    }  
}


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。