Unity的VideoPlayer视频播放结束触发逻辑

这篇具有很好参考价值的文章主要介绍了Unity的VideoPlayer视频播放结束触发逻辑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity的VideoPlayer视频播放结束触发逻辑

前言

我在之前的项目中,有许多项目用到了VideoPlayer视频播放组件,其中有很多需求都是视频播放结束后调用一个方法,比如说跳转场景、转换视频等等。我使用的Unity2017的版本都是在Update检测视频的帧数,在视频播放结束是触发方法,但是这种方法貌似在2017以上的版本就不太好使了(我在很多项目中碰到过这种情况),有时候只能用计时器完成,费时费力。今天我在网上找到一个方法,终于解决了这个问题,完成过程如下所示:

步骤

1.项目中导入之前videoPlayer项目,videoPlayer的使用方法我在之前的博客里介绍过,在这里不赘述了,如下图所示:
unity videoplayer 结束,unity,音视频,游戏引擎2.之前的项目中视频播放结束逻辑都在PlayMovie方法里,代码如下所示:

void PlayMovie()
        {
            //如果videoPlayer没有对应的视频texture,则返回
            if (videoPlayer.texture == null)
            {
                return;
            }
            //把VideoPlay的视频渲染到UGUI的RawImage上
            rawImage.texture = videoPlayer.texture;
            if (isPlay)
            {
                if ( videoPlayer.frame == (long)videoPlayer.frameCount)
                {
                    //Debug.Log("视频播放完毕动作!");
                    //StopPlay();
                }
            }
        }

3.优化后播放结束逻辑不在PlayMovie方法里实现,新建ToEndVideo方法,如下所示:

        void ToEndVideo()
        {
            videoPlayer.loopPointReached += EndWithVideoPlay;
        }

        /// <summary>
        /// 播放结束逻辑
        /// </summary>
        /// <param name="thisPlay"></param>
        void EndWithVideoPlay(VideoPlayer thisPlay)
        {
            Debug.Log("视频播放完毕动作!");
            StopPlay();
        }

4.在Start方法中调用ToEndVideo方法,如下图所示:

        void Start()
        {
            BeginString();
            ToEndVideo();
        }

5.功能完成,测试,发现已经实现了该功能!
unity videoplayer 结束,unity,音视频,游戏引擎文章来源地址https://www.toymoban.com/news/detail-521580.html

到了这里,关于Unity的VideoPlayer视频播放结束触发逻辑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity使用videoplayer组件播放视频黑屏问题解决方案

    1、视频使用动态加载方式 2、资源需要放到resource文件夹下,不能被打成ab 3、资源打包的时候不能被压缩,在android打包文件设置成不压缩   build.gradle文件: 可能出现的问题: 导出的Android版本播放视频只用声音没有画面,初始化VideoPlayer组件时,Android平台的报错提示是:E/

    2024年02月13日
    浏览(58)
  • 【虚拟仿真】Unity3D打包WEBGL后播放视频(VideoPlayer组件)

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 本篇文章实现Unity3D打包WEBGL后播放视频,如下图所示: 使用了VideoPlayer组件,代码比较简单。 主要就

    2023年04月25日
    浏览(43)
  • SwiftUI 视频教程之 快速播放本地视频,URL 播放视频,自动播放视频,视频结束通知VideoPlayer (iOS 14 +)

    iOS 14引入了viewAVKit的世界。显示实例的内容。在框架内部定义,让我们可以在本地播放视频,而无需从.SwiftUIVideoPlayerVideoPlayerAVPlayerViewAVKitSwiftUIUIKit VideoPlayer以 player 作为初始化参数,是 AVPlayer 的一个实例。 通过 URL 播放视频 带叠加层的视频播放器 自动播放视频 视频结束通

    2024年02月06日
    浏览(101)
  • Unity 视频播放器,基于VideoPlayer,实现滑动进度条,显示视频时长,全屏显示,音量调节

    unity播放视频的方式有很多种,但即轻量又好用的,还是unity自带的VideoPlayer,但没有视频基础操作的UI组件,本篇带大家对视频的播放,以及UI组件的实现 效果展示: Unity带UI操作,视频播放器   DEMO下载: https://gitee.com/jacobkay/videoplayer 一、安装方式 1、下载文件 2、将文件拖

    2024年02月02日
    浏览(45)
  • Unity VideoPlayer使用url方式,Android平台下无法播放http链接的视频(黑屏、无反应、无报错、无log输出)...

    以下内容基于 Unity 2019.4.28f1c1,未来可能有变化 (以下 Other Settings 供参考,未必影响) Edit - Project Settings - Player - Android平台 - Other Settings :设置如下 Rendering Auto Graphics API: true Configuration Scripting Backend: IL2CPP Install Location: Prefer External Internet Access: Auto 主要原因: 默认情况下,不允

    2023年04月18日
    浏览(33)
  • Unity 视频组件 VideoPlayer

            在自己定义的组件下(例如:Panel) 点击 Inspector 面板中的 AddComponent ,输入“VideoPlayer”。 这里 视频资源有两种形式,第一种是 VideoClip ,需要将视频文件拖拽到该属性字段中,便可播放。第二种是URL,需要输入视频的网络地址,如HTTP或RTSP,便可。 Render Mode:

    2024年04月12日
    浏览(24)
  • 关于Unity VideoPlayer组件 视频切换第一帧卡顿

    2.原因: 因为VideoPlay视频的最后一针会停留在 Render Texture上,所以要在视频结束时去除Render Texture上的画面。 3.解决方法: 在视频切换前释放视频缓存,加上这句代码

    2024年02月13日
    浏览(28)
  • 【unity】VideoPlayer第一帧刷新不出来的解决方法

    前情描述: 需求:点击按钮,关掉首页,打开视频浏览页,显示视频的第一帧。 问题:用的是RawImage+VideoPlayer,关掉首页再打开视频页时不能显示第一帧(打包出来显示空白),而当RawImage在UI最上层时可以显示第一帧。 解决: 在关掉首页时插入 ps.为了保险,还可以提前设

    2024年02月11日
    浏览(76)
  • 实现html页面插入视频的自动播放、视频播放结束后的事件触发(video标签)

    要实现自动播放需要同时使用autoplay和muted属性,简单示例代码如下: html代码: css代码: 要实现视频播放结束后的事件触发需要使用addEventListener(“ended”, function () {})进行事件监听,简单示例代码如下: html代码: css代码: js代码: (1)菜鸟网址:https://www.runoob.com/tags/t

    2024年02月05日
    浏览(39)
  • video视频标签一些设置,包括封面、播放结束后的封面、视频占满屏幕的方式、视频播放暂停、展示控制栏、触发全屏播放事件

    代码如上,poster属性用于设置视频封面;视频链接放在source标签内的src属性;加controls属性就会展示控制栏,不加不显示; 视频进入网页自动播放 查阅资料都是说在vedio属性中加 autoplay=\\\"autoplay\\\" muted=\\\'muted\\\',如第一段代码,但是我试了都是被浏览器评屏蔽掉的(为了提高用户体

    2024年02月13日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包