Unity视频播放_VideoPlayer的简单使用

在Unity中播放视频可以选择自带视频组件VideoPlayer或者插件AVPro等,这里我们简单了解一下如何使用VideoPlayer的常用功能。

一、播放准备工作

1.1UI,在UI界面播放创建RawImage

1.2 新建RenderTexture

Assets文件夹下右键Create->RenderTexture

1.3添加组件VideoPlayer

在新创建的RawImage中AddComponent搜索VideoPlayer并添加

将TargetTexture更换为新建的RenderTexture

将组件RawImage中的Texture更换为新建的RenderTexture

1.4视频资源

1.4.1如果使用Source为VideoClip,将视频资源导入unity中,拖到Clip;

        如果需要多个视频资源的使用看下面第二部分

1.4.2若使用Soure为URL则浏览视频资源所在目录

以上工作完成之后就可以正常播放视频了。

二、视频暂停与播放、下一个视频、上一个视频、播放速度快进与后退、静音、播放时长功能的实现

创建脚本,在脚本中声明变量videoplayer,后续直接使用videoplayer说明,注意将VideoPlayer组件拖入脚本 中

public VideoPlayer videoplayer;

1.视频播放:

videoplayer.Play();

这里可以写在Start中或你需要操作之后再播放视频的函数中

2.视频暂停:

videoplayer.Pause();

3.多个视频的使用:下一个视频、上一个视频

脚本声明变量VideoClip数组,将需要的视频资源都拖入脚本VideoClip数组中

public VideoClip []videoclip;

在Start中先设定要播放的视频资源或在你需要播放视频的函数中:

videoplayer.clip = videoclip[i];

i为你拖入视频资源的任意数0,1,2...

3.1下一个视频:

可以直接i++,如果超过videoclip数组长度-1则i=0;上一个视频同理小于0则i变为数组长度-1

4.播放速度

获取当前视频播放速度videoplayer.playbackSpeed;设置你需要的播放速度VideoSpeed,

videoPlayer.playbackSpeed=VideoSpeed;

5.静音(这里使用单轨道视频)

将视频的音频轨道设置为禁止播放videoPlayer.SetDirectAudioMute(0, false);

6.播放时长(采用Clip播放视频资源)

6.1视频总时长:
VideoAllTime = (int)videoPlayer.clip.length;
6.2当前时长:
(int)videoPlayer.time;

这里可以添加时间转换,将得到的时长转为int,添加功能转为日常看到的,例如我转为00:00:00

public string TimeShow(int time)
{
    int Hour, Minute, Second;
    Hour = time / 3600;
    time -= Hour * 3600;
    Minute = time/ 60;
    time -= Minute * 60;
    Second = time;
    return Hour.ToString("00")+":"+Minute.ToString("00") + ":"+Second.ToString("00");
}

7.URL中视频播放时长的获取

7.1视频总时长:
VideoAllTime = videoplayer.totalFrames / videoplayer.frameRate;


其中totalFrames代表总帧数,frameRate代表帧率

7.2当前时长:
videoplayer.frame / videoplayer.frameRate;

其中frame代表当前帧数

三、URL视频资源转Webgl

在Unity中项目导出webgl时,视频不可以使用Clip,不支持导致无法加载

所以这里采用URL的方式,这里最好提前设置好路径否则在其他设备无法查看该视频资源

 path = Path.Combine(Application.streamingAssetsPath, "4.mp4");
 videoplayer.url = path;

必须把视频资源放在Assets中的StreamingAssets文件夹下才可以在其他设备浏览器播放。

结尾:有任何错误请指出,补充请评论,看到会第一时间回复,谢谢。
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值