关于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 是一种轻量级的「标记语言」,创始人为约翰·格鲁伯,用简洁的语法代替排版,目前被越来越多的知识工作者.写作爱好者.程序员或研究员广泛使用.其常用的标记符号不 ...
最新文章
- 动态规划python_机器人是如何规划路径的?动画演示一下吧
- Apache - AH00558
- oracle循环语句loop,oracle循环语句loop
- DockerSwarm 微服务部署
- Selenium3自动化测试——5. 鼠标悬停操作
- VTK:PolyData之TriangleArea
- C++工作笔记-仿大佬使用枚举类型
- php 当前linux用户权限,Linux 下用户组别权限的理解
- 【设计模式】第二章 代理模式
- 部分公务员已领数字货币工资,数字货币或年内扩大试点,支付宝、微信支付还会有优势吗?
- SpringBoot集成Swagger2自动生成友好的RestApi测试页面及文档
- 从0开始学习 GitHub 系列之「GitHub 常见的几种操作」
- arduino UNO 点亮LED例程
- 使用vue开发的网易云音乐播放器
- ACM的奇计淫巧系列
- 阿里巴巴淘宝用户行为数据集,UserBehavior表实战分析
- 微信公众号登陆、模板发送、access_token获取 PHP代码
- python科学计算三维可视化学习笔记(0)
- disallow: /index.php?,那位高手知道robots文件的正确写法。我在网上看到两种说法。一种是 user-agent:* Disallow:/flims...
- 机器学习基础 EM算法