博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity中使用ViedoPlayer操作视频文件
阅读量:1985 次
发布时间:2019-04-27

本文共 1327 字,大约阅读时间需要 4 分钟。

这种方法只支持MP4,ogv,vp8,webm,mov,dv,m4v,mpg,mpeg格式的视频文件。

一:将视频显示在UI上

将视频画面保存在Render Texture上,可以用来做基于UGUI的播放器。

1.在面板中新建一个RawImage,并添加ViedoPlayer组件。

2.用代码实现将ViedoPlayer的贴图赋给RawImage上(必须用代码实现)

using UnityEngine;using UnityEngine.UI;using UnityEngine.Video;public class VideoController : MonoBehaviour{    private RawImage rawImage;//rawImage组件    private VideoPlayer videoPlayer;//视频播放组件    private void Start()    {        rawImage = GetComponent
(); videoPlayer = GetComponent
(); } private void Update() { rawImage.texture = videoPlayer.texture; }}

二:将视频显示在3D物体上

将视频画面复制给所选Render的Material。需要选择具有Render组件的物体,可以选择赋值的材质属性。可制作360全景视频和VR视频。

1.新建一个Plane,并添加ViedoPlayer组件。

2.将渲染模式改为Material Override,把Plane的Mesh Renderer组件赋给Video Player的Renderer属性。


三:将视频渲染到相机上

Camera Far Plane:基于摄像机的渲染,渲染在摄像机的远平面上,需要设置用于渲染的摄像机,同时可以修改alpha通道的值做透明效果,可用于背景播放器。

Camera Near Plane:基于摄像机的渲染,渲染在摄像机的近平面上,需要设置用于渲染的摄像机,同时可以修改alpha通道的值做透明效果,可用作前景播放器。

1.新建一个空物体,并添加ViedoPlayer组件。

2.2.将渲染模式改为Camera Far Plane,把Plane的主相机上的Camera组件赋给Video Player的Camera属性。


四:使用VideoPlayer播放声音

指定视频clip后播放是没有声音的,需要在这个RawImage上再添加一个Audio Source组件,不用修改任何属性,直接将组件赋值给VideoPlayer上的Audio Source属性即可播放视频中的声音。


五:判断视频播放完成

判断当前帧数与总帧数是否相等


六:暂停视频

如果想让视频暂停,则在需要的时间点使用videoPlayer.Pause()。


七:获取视频总时长

视频总时长=总帧数/帧速率(如果是本地赋值的视频片段可以直接用VideoClip.length获取总时长

转载地址:http://kxyvf.baihongyu.com/

你可能感兴趣的文章
appium的XPATH获取text值的方式与selenium区别
查看>>
处理appium获取toast内容
查看>>
解决uiautomatorviewer中添加xpath的方法
查看>>
Windows Server R2 安装python时报策略不允许的解决方案
查看>>
pip无法安装:换成国内镜像
查看>>
jenkins安装提示Please wait while Jenkins is getting ready to work...(Jenkins访问资源慢的问题)
查看>>
python安装mysqlclient[MySQLdb]
查看>>
性能测试的必要性评估以及评估方法
查看>>
性能测试需求分析
查看>>
性能测试需求评审
查看>>
性能测试实施流程
查看>>
Jmeter在多线程当中对某个http请求进行循环读取配置文件
查看>>
Python读取配置文件中文乱码问题
查看>>
使用Spark读写外部存储介质(Mysql、Hbase、Redis)
查看>>
Spark学习——利用Mleap部署spark pipeline模型
查看>>
手写LogisticRegression
查看>>
SQL经典题目总结
查看>>
剑指offer编程题,一周刷完
查看>>
推荐系统初学
查看>>
Map的遍历和排序
查看>>