1打开unity,新建一个场景,创建 GameObject-----UI-----RawImage.并且创建三个按钮分别为暂停与播放按钮,上一个,下一个,两个切换按钮。调整好合适的大小和位置。
2.下载好两个以上需要切换的视频,注意修改格式为MP4格式。接下来就导入视频资源。打开unity -----直接将视频拖入Assets界面。
3.编写脚本对视频的播放进行控制。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;
public class Video_Controller : MonoBehaviour {
private VideoPlayer videoplayer;
private RawImage rawImage;
private int currentClipIndex;
public Text text_playorpause;
public Button button_playorpause;
public Button button_pre;
public Button button_next;
public VideoClip[] videoClips;//定义了一个数组
// Use this for initialization
void Start () {
videoplayer = this.GetComponent<VideoPlayer>();//获取组件
rawImage = this.GetComponent<RawImage>();
currentClipIndex = 0;
button_playorpause.onClick.AddListener(OnplayorpauseVideo);
button_pre.onClick.AddListener(OnpreVideo);
button_next.onClick.AddListener(OnnextVideo);//调用方法
}
// Update is called once per frame
void Update () {
if (videoplayer.texture == null)
{
return;
}
rawImage.texture = videoplayer.texture;
}
private void OnplayorpauseVideo() {
if (videoplayer.enabled == true)
{
if (videoplayer.isPlaying) {
videoplayer.Pause();
text_playorpause.text = "播放";
Debug.Log("2322");//用于调试脚本不能正常运行
}
else if (!videoplayer.isPlaying)
{
videoplayer.Play();
Debug.Log("111");
text_playorpause.text = "暂停";
}
}
}
private void OnpreVideo() {
currentClipIndex -= 1;
if (currentClipIndex < 0) {
currentClipIndex = videoClips.Length - 1;
}
videoplayer.clip = videoClips[currentClipIndex];
text_playorpause.text = "暂停";
}
private void OnnextVideo()
{
currentClipIndex += 1;
currentClipIndex = currentClipIndex % videoClips.Length;
videoplayer.clip = videoClips[currentClipIndex];
text_playorpause.text = "暂停";
}
}
4.把脚本挂在RawImage上。并给脚本赋予相应的按钮。
最后点击运行就可以实现视频的播放暂停,和切换。
5.思路方法总结:
多个视频播放,要判断视频的播放状态,转化按钮的功能。要实现视频播放和暂停videoplayer.play();和video.pause();的方法;就需要运用到videoplayer.enabled(bool),videoplayer.isplaying或!videoplayer.is playing等的布尔类型来进行判断。
创建一个数组来存储视频。public VideoClip[] video Clips.自定义了暂停与播放,上一个,下一个三个方法。
双绞线的制作和直联线交叉线区别 双绞线有两种接法标准:EIA/TIA 568B标准和EIA/TIA 568A标准。 T568A线序 1 2 3 4 5 6 7 8 绿白 绿 橙白 蓝 蓝白 橙 棕白 棕
目录1、环境搭建2、新建数据表3、创建对应的实体类 User4、创建 MyBatis 的配置文件 config.xml(文件名可自定义)5、自定义接口(Mapper 代理的形式实现)1.创建接口。2.创建 UserRepository.xml,定义接口方法对应的 SQL 语句。statement 标签根据 SQL 执行的业务可选择 insert、delete、update、select。3.在 config.xml 中注册 UserRepository.xml。4.测试1、环境搭建搭建环境,创建 Ma
由于Auto.js目前的API都是同步的,要在屏幕中搜索某张图色或者某个控件时,必须无限循环查找,这实际上非常耗电。由于Rhino的限制,Auto.js无法直接提供异步API,这让Auto.js的脚本天生有一些缺陷。为了解决这些问题,Auto.js Pro 8.0.0-3引入了两个新的API,来尽量减少图色模块和控件模块使用时的耗电。图色模块的耗电优化requestScreenCapture(options)options{Object} async{Boolean} 是否以异步事件..
在C语言中,有些由内存需要程序员在代码中进行手动回收,但是在Java中,没有这样的声明式操作。有没有人有去想过,Java到底做了什么可以自动进行垃圾回收呢?Java中的垃圾回收,是一点都...
关于单调队列的介绍请移步:http://xuyemin520.is-programmer.com/posts/25964结合poj2823理解比较好:http://poj.org/problem?id=2823代码如下(跑得比较慢):#include const int Maxn=1000000+100; int n,k;int id[Maxn],minn[Maxn],ma
cocos2d-x3.2 在Windows下打包Android平台APK搭建Android环境需要用到Android SDK、NDK、Ant和JDK;下载Android SDK 下载Android NDk 下载Android JDK 下载Ant 其中JDK是需要安装的,其他的都直接解压即可。将SDK NDK
iOS AVAudioRecorder 录音 动画
【Django 网页Web开发】02. 创建并运行一个Django项目(保姆级图文)
vc6能用的SDK和库列表 vc6快10岁了,呵呵~~蛮经典的东西。 以下SDK和库是我自己收集的,绝大部分我都使用过,最重要的是能在VC6下使用。它们之间各自有各自的功能,不需要比较,除非是相同类型的库,例如 XML解析器,我才比较一下,排名也不分先后,并且描述的简略不代表个人的感情色情。^.V,很多库我都喜欢,但我只是简单说两句。例如MFC,STL, ICE等等。希望大家的开发效率能提高不
*错误: 找不到或无法加载主类 org.apache.hadoop.hdfs.server.namenode.NameNode 问题解决在hadoop3的初始化时,出现了org.apache.hadoop.hdfs.server.namenode.NameNode这个错误用了很多方法都没有解决,后来发现hadoop-3.1.2.tar.gz是由jdk1.8编的,而我用的jdk1.7,果...
之前几篇通过爬虫与mysql数据库获取到所有股票数据,存在一个比较难处理的问题,就是数据为未复权,无法策略回测。为了获取到已复权数据,也是找了很多接口,最终发现tushare是一个不错的选择,不用存储在本地,程序运行时候保证联网,直接获取数据,最重要的是可以选择前复权或者后复权。以下引用自官方网站http://tushare.org/index.html Tushare是一个免费、开源的p
在Xcode5中,要设置Deployment Target为5.x,6.x, 首先要把工程的architecture修改: 这样才能选择5.x和6.x的系统。