关于VideoPlayer的使用(方便自己查看的笔记)
unity5.6之后加的一个videoPlayer组件,也是查资料查到的方便自己之后查看,直接用代码记录
using UnityEngine;
using UnityEngine.Video;
public static class VideoPlayController
{
//获取视频总时长
public static int GetVideoTimeCount(this VideoPlayer vp)
{
return (int)(vp.frameCount / vp.frameRate);
}
///
/// 获取视频进度
///
///
///
public static float GetVideoProgression(this VideoPlayer vp)
{
return (float)((vp.time * vp.frameRate)/(vp.frameCount / vp.frameRate));
}
/// <summary>
/// 设置视频进度
/// </summary>
/// <param name="vp"></param>
/// <param name="progression"></param>
public static void SetVideoProgression(this VideoPlayer vp, float progression)
{float time = (int)vp.frameCount / vp.frameRate * progression;vp.time = time;vp.Play();
}
}
测试 在Unity中视频的播放及用进度条控制视频的播放
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;
public class VideoTest : MonoBehaviour
{
public VideoPlayer vp;
public RawImage image;
public Slider progression;
public Text timeCount;
public Text currentTime;
void Start()
{vp.Play();progression.value = vp.GetVideoProgression();progression.onValueChanged.AddListener(Changed);DateFormat((int)vp.GetVideoTimeCount(), timeCount);
}
//格式化视频播放时间的显示
private void DateFormat(int sec, Text text)
{
TimeSpan span = new TimeSpan(0, 0, 0, sec);
text.text = (int)span.Hours + “:” + (int)span.Minutes + “:” + (int)span.Seconds;
}
// Update is called once per frame
void Update()
{//如果videoPlayer没有对应的视频texture,则返回if (videoPlayer.texture == null){return;}//把VideoPlayerd的视频渲染到UGUI的RawImageimage.texture = videoPlayer.texture;DateFormat((int)vp.time, currentTime);
}
private void Changed(float value)
{vp.SetVideoProgression(value);
}
public void Play()
{vp.Play();
}
public void Pause()
{vp.Pause();
}
}
总体来说这个控制视频播放的组件还是蛮方便的
关于VideoPlayer的使用(方便自己查看的笔记)相关推荐
- java自带的jvm在哪里看_使用jdk工具查看jvm笔记
前言 有时候线上出问题或者需要对java项目进行优化的时候 需要一些工具对jvm运行状态进行一些查看和分析 jdk自带了很多工具 这里对jvm参数查看分析写一篇笔记 方便查阅 至于在线debug 另外 ...
- linux 查看cpu_看看你的嵌入式设备CPU温度是多少,能烤肉吗?
点击上方「嵌入式大杂烩」,「星标公众号」第一时间查看嵌入式笔记! 大家应该都看过一些大佬发的电脑CPU烤肉的视频,电脑CPU的温度真的有那么高吗?我们一起来看一下咱们电脑CPU的温度是多少? PC端C ...
- Linux | 文本文件查看命令
1024G 嵌入式资源大放送!包括但不限于C/C++.单片机.Linux等.关注微信公众号[嵌入式大杂烩],回复1024,即可免费获取! 我们要查看一些文本文件的内容时,要使用文本编辑器来查看.在Li ...
- 神马笔记 版本2.10.0——图片查看器
神马笔记 版本2.10.0--图片查看器 一.目标 二.下载地址 三.功能介绍 四.开发过程回顾 五.笔记元素一览 六.下一版本开发计划 七.新版本规划 八.历史版本回顾 九.帮助和反馈 十.Fina ...
- Java项目:美食菜谱分享平台系统设计和实现(java+springboot+mysql+ssm)
源码获取:博客首页 "资源" 里下载! 主要技术实现:spring. springmvc. springboot.mybatis .session. jquery . md5 .b ...
- 高软作业三:原型化设计——随心记
这是一款在iso端,集笔记.备忘录.日记与一体的软件.本人有用手机写东西的习惯,但是做笔记需要一款软件,备忘录需要一款软件,写日记又需要一款软件,非常那麻烦,所以就想做一款这三种功能都具备的软件. 大 ...
- 使用webpack、vue来开发一个todo项目
luxurybug有话说: 我是从有道云笔记中粘贴过来的,图片不显示, 请点击链接,查看完整笔记:点我!有道云笔记 part1.开始,简单的配置 一.准备工作 webpack webpack-dev- ...
- 计算机二级公共基础知识2017,2017年计算机二级公共基础知识基础试题
2017年计算机二级公共基础知识基础试题 随着微处理机的迅速发展,计算机广泛应用于工业.农业.文化教育.卫生保健.服务行业.社会公用事业等.yjbys小编收集了一些关于计算机二级公共基础知识基础试题, ...
- 印象笔记终于支持Markdown了 !你还会再用其他笔记吗?
Markdown 是什么? Markdown 是一种轻量级的「标记语言」,创始人为约翰·格鲁伯,用简洁的语法代替排版,目前被越来越多的知识工作者.写作爱好者.程序员或研究员广泛使用.其常用的标记符号不 ...
最新文章
- HDU 2717 Catch That Cow(BFS)
- 知识图谱实体链接是什么?一份“由浅入深”的综述
- Android的代码都得自己一个个敲一遍吗?
- python3 赋值 浅拷贝 深拷贝 简介
- C++(八)——文件操作
- 关于string转int、float、double常用方法
- ubuntu12.04 e680 usbnet
- Python输入多行多组数据两个两求和
- java8 supplyasync_java – 为什么CompletableFuture.supplyAsync成功随...
- windows副本不是正版怎么解决_解决Windows沙盒怎么联网问题
- springboot netty给特定客户端推送_Spring Boot 又升级了?2.0 你搞懂了吗?!
- 6-4 使用函数统计指定数字的个数_高手不可不学的Excel引用函数(上)
- Javascript学习数据结构--集合(Set实现)
- ubuntu需要多大的固态硬盘_揭秘:为什么SSD固态会越用越慢?关键点就在这里,你了解了吗...
- Java简单代码-用*号拼三角形
- 麻省理工学院(MIT)发明漏洞自动修复系统
- 不到 20 人的 IT 公司,要不要去呢?
- 基于snipe-it v5.1.2开源资产管理软件二次开发安卓端管理app
- watch的使用方法
- Android蓝牙开发介绍
热门文章
- MFC创建新Excel文档并设置其中的格式和字体
- C# ——具名参数和可选参数
- html—登录及注册页面设计
- 两部委发文鼓励开源,从业者:没有开源就没有区块链,更没有核心创新力
- Radmin LAN 深受 600 万用户的信任,免费的外网连接工具
- 快手大数据挑战赛---总结
- 腐烂国度2服务器无响应,腐烂国度2Installapp无反应解决方法_腐烂国度2Installapp无反应怎么解决_玩游戏网...
- 微信小程序中 会话内消息卡片上的send-message-title在不同手机上的显示问题
- 中国床上用品行业前景调研与投资竞争力分析报告2022-2028年
- 【Tensorflow专题-01】深度学习应用介绍及tensorflow基本使用