如何将视频导入进Unity3D中?

第一步: 将VideoManage/(或者Plane也可以,但是用plane的话需要给场景打灯光)拖进工作面板中
这里写图片描述
第二步:编写脚本
`using UnityEngine;
using System.Collections;

public class MovieTest : MonoBehaviour
{

public  MovieTexture movie;  //电影纹路
public AudioClip myAudio;   

public MovieTexture movie01;
public MovieTexture movie02;
public MovieTexture movie03;
public MovieTexture movieCompany;

public AudioClip myAudio01;
public AudioClip myAudio02;
public AudioClip myAudio03;
public AudioClip myAudioCRCCE;

void Start()
{

}
void Update()
{

}
public void PlayMovie(MovieTexture movie ,AudioClip myAudio)
{
    this.movie = movie;
    this.myAudio = myAudio;
    gameObject.GetComponent<Renderer>().material.mainTexture = movie;
    gameObject.GetComponent<AudioSource>().clip = myAudio;
    movie.loop = true;

    gameObject.GetComponent<AudioSource>().enabled = false;
    gameObject.GetComponent<AudioSource>().enabled = true;
}

void OnGUI()
{

    if (GUI.Button(new  Rect(10,10,120,60),"视频一"))
    {
        PlayMovie(movie01 ,myAudio01);

    }
    if (GUI.Button(new Rect(10, 70, 120, 60), "视频二"))
    {
        PlayMovie(movie02,myAudio02);
    }
    if (GUI.Button(new Rect(10, 130, 120, 60), "视频三"))
    {
        PlayMovie(movie03,myAudio03);
    }

    if (GUI.Button(new Rect(550, 10, 120, 60), "Play"))
    {
        movie.Play();

    }
    if (GUI.Button(new Rect(550, 70, 120, 60), "Pause"))
    {
        movie.Pause();
    }
    if (GUI.Button(new Rect(550, 130, 120, 60), "Stop"))
    {
        movie.Stop();
        gameObject.GetComponent<AudioSource>().enabled = false;
        gameObject.GetComponent<AudioSource>().enabled = true;
    }

}

}
`
第三步:
将脚本挂在某个物体上

注:
有人可能不懂我为什么要加下面的这两行代码
这里写图片描述

其实我也不是太懂这个原因,

最开始做的时候,我也是按照常规方法来的,运行的时候发现视频没有声音,无意中勾掉了AudioSource组件,然后又勾上,发现声音奇迹的回来啦,,哈哈,有种瞎猫碰上死耗子的感觉

但是在触发stop函数时也会出现声音丢失的现象,于是我采用了同一种方法。
虽然有点扯,但最后也解决了问题。

发布了4 篇原创文章 · 获赞 0 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览