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文件夹下才可以在其他设备浏览器播放。

结尾:有任何错误请指出,补充请评论,看到会第一时间回复,谢谢。
  • 40
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Unity VideoPlayerUnity引擎中的一个组件,用于在游戏或应用程序中播放视频。它可以加载外部视频资源,并提供视频播放控制功能,如播放、暂停、停止。同时,它还可以切换本地视频,获取视频播放进度和控制音量等。 在使用Unity VideoPlayer播放视频时,有时可能会遇到闪现上一个视频画面的问题。这个问题可能是由于视频加载和播放的过程中,上一个视频的画面没有完全清除导致的。一种解决方法是在切换视频之前,先停止之前的视频播放,然后再加载和播放新的视频。这样可以确保每次切换视频时都能正常显示新视频的画面。 总结起来,Unity VideoPlayerUnity引擎中的一个功能强大的组件,可以用于加载和播放视频,并提供了丰富的视频控制功能。在使用时需要注意处理视频切换时可能出现的闪现问题,可以通过停止之前的视频播放来解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Unity视频播放Video Player简单使用](https://blog.csdn.net/weixin_42396898/article/details/124122678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [UnityVIdeoPlayer视频外部加载- 源码](https://download.csdn.net/download/qq_14862207/10803147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值