Unity3D VideoPlayer播放视频和音频

Unity3D VideoPlayer播放视频和音频

今天来记录一下用Unity自带的VideoPlayer播放视频和音频。

首先准备一个带音频的视频文件,导入到工程中。Windows支持的视频格式有:.mp4,.mov,.mpg,.mpeg,.asf,.avi,.dv,.mv4,.ogv,.vp8,.webm,.wmv等。

视频的转码根据自己需求选择,如果不转码,视频文件将按原样使用,可以节省时间,避免相关的质量损失,但需自己验证该视频与目标平台的是否兼容。

Unity3D VideoPlayer播放视频和音频_第1张图片

新建一个Canvas,在Canvas下新建一个RawImage控件,设置好Rawimage的大小,好与视频的尺寸匹配。点击RawImage下的Add Component,添加VideoPlayer组件和Audio Source组件。在Project工程中,单击右键——> create ——> Render Texture,命名为Video_texture,根据视频尺寸,设置好Video_texture的尺寸(最好与RawImage的尺寸一致)。

Unity3D VideoPlayer播放视频和音频_第2张图片Unity3D VideoPlayer播放视频和音频_第3张图片

把Video_texture分别拖进RawImage和VideoPlayer的相应位置 。把视频拖入VideoPlayer的Video Clip栏(这里Source选用Video Clip,如果选用UR,则需把该视频的路径填入即可)。接着把Audio Souce拖入VideoPlayer的Audio Souce中。

 Unity3D VideoPlayer播放视频和音频_第4张图片

代码如下:

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

public class VideoPlay : MonoBehaviour {

    public VideoPlayer videoPlayer;
    private AudioSource audioSource;
    public Transform Buttons;
    private RawImage rawImage;
    void Start()
    {
        rawImage = videoPlayer.gameObject.GetComponent();
        audioSource = videoPlayer.GetComponent();
        StartCoroutine(PlayVideo());
        
        foreach(Transform t in Buttons)
        {
            t.GetComponent

把代码挂在Canvas上,拖入RawImage跟Buttons,运行即可

Unity3D VideoPlayer播放视频和音频_第5张图片Unity3D VideoPlayer播放视频和音频_第6张图片

动图如下:

Unity3D VideoPlayer播放视频和音频_第7张图片

你可能感兴趣的:(unity3D,VideoPlayer,C#,unity3d,c#,视频处理)