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

2023-10-29 13:40

本文主要是介绍Unity的VideoPlayer视频播放结束触发逻辑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

前言

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

步骤

1.项目中导入之前videoPlayer项目,videoPlayer的使用方法我在之前的博客里介绍过,在这里不赘述了,如下图所示:
在这里插入图片描述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视频播放结束触发逻辑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/301018

相关文章

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo