Unity 3D视频播放器场景C#脚本
实现视频的播放和暂停、快进、音量滚动条:
using UnityEngine;
using System.Collections;
public class vedioPlayer : MonoBehaviour {
//视频播放比按钮图片
public Texture2D vedioStartAndStop;
public Texture2D vedioStart;
public Texture2D vedioPause;
public Texture2D vedioStop;
public Texture2D vedioNextAndFast;
public Texture2D vedioFast;
public Texture2D vedioUp;
public Texture2D vedioNext;
public Texture2D musicVolumeSize;
public GUIStyle musicSIze;
//返回按钮
public Texture2D Backbtn;
//退出按钮
public Texture2D quitbtn;
public int i = 0;
public int j = 0;
//电影纹理
public MovieTexture movieTexture;
public AudioSource[] MyAudio;
//歌曲名称
//当前歌曲编号
int SongIndex = 0;
//音量
public float musicVolume;
//Use this for initialization
voidStart () {
//设置当前对象的主纹理为电影纹理
renderer.material.mainTexture = movieTexture;
//设置电影纹理播放模式为循环
movieTexture.loop = false;
//设置默认音量
musicVolume = 0.5F;
}
//Update is called once per frame
voidUpdate () {
}
void OnGUI() {
//视频播放按钮
if (GUI.Button(new Rect(Screen.width * 0.4f, Screen.height * 0.9f,Screen.width * 0.07f, Screen.height * 0.07f), vedioStartAndStop))
{
i++;
}
if (i % 2 == 1)
{
if (!movieTexture.isPlaying)
{
movieTexture.Play();
MyAudio[SongIndex].Play();
vedioStartAndStop = vedioPause;
}
}
if (i % 2 == 0)
{
if (movieTexture.isPlaying)
{
movieTexture.Pause();
MyAudio[SongIndex].Pause();
vedioStartAndStop = vedioStart;
}
}
//快进按钮
if (GUI.Button(new Rect(Screen.width * 0.5f, Screen.height * 0.9f,Screen.width * 0.07f, Screen.height * 0.07f), vedioNextAndFast))
{
j++;
}
if (j % 2 == 1 && movieTexture.isPlaying)
{
MyAudio[SongIndex].Play();
movieTexture.Play();
vedioNextAndFast = vedioFast;
}
if (j % 2 == 1 && !movieTexture.isPlaying)
{
vedioNextAndFast = vedioFast;
}
if (j % 2 == 0)
{
vedioNextAndFast = vedioNext;
}
//视频播放停止按钮
if (GUI.Button(new Rect(Screen.width * 0.3f, Screen.height * 0.9f,Screen.width * 0.07f, Screen.height * 0.07f), vedioStop))
{
movieTexture.Stop();
i = 0;
j = 0;
vedioStartAndStop = vedioStart;
vedioNextAndFast = vedioNext;
}
//创建一个用于动态修改音乐音量的横向滑动条
//GUISkin guistyle = Color.white;
musicVolume = GUI.HorizontalScrollbar(new Rect(Screen.width * 0.63f,Screen.height * 0.92f, Screen.width * 0.2f, Screen.height * 0.2f), musicVolume,0.01F, 0.0F, 1.0F);
//GUI.skin=Color.
//音量图标
GUI.Label(new Rect(Screen.width * 0.6f, Screen.height * 0.9f, Screen.width* 0.05f, Screen.height * 0.05f), musicVolumeSize);
//将音量的百分比显示出来
GUI.Label(new Rect(Screen.width * 0.005f, Screen.height * 0.03f,Screen.width * 0.3f, Screen.height * 0.05f), "当前音量:" +(int)(musicVolume * 100) + "%");
if (MyAudio[SongIndex].isPlaying)
{
MyAudio[SongIndex].volume = musicVolume;
}
//返回按钮
if (GUI.Button(new Rect(Screen.width * 0.87f, Screen.height * 0.05f,Screen.width * 0.05f, Screen.height * 0.08f), Backbtn))
{
Application.LoadLevel("Level_0");
}
//退出按钮
if (GUI.Button(new Rect(Screen.width * 0.94f, Screen.height * 0.05f,Screen.width * 0.05f, Screen.height * 0.08f), quitbtn))
{
Application.LoadLevel("Background");
}
}
}
Unity 3D视频播放器场景C#脚本相关推荐
- 记录一款Unity VR视频播放器插件的开发
效果图 先上一个效果图: 背景 公司最近在做VR直播平台,VR开发我们用到了Unity,而在Unity中播放视频就需要一款视频插件,我们调研了几个视频插件,记录两个,如下: Unity视频插件调研 网 ...
- 2022-03-09 Unity 3D两个场景的切换
文章目录 效果 实现步骤 1.创建场景 2.添加按钮 3. 写C#脚本实现切换 4. 添加Component到Button上 5. 添加两个Scene到Build中 测试效果 参考资料 效果 在sce ...
- 一个3D视频播放器的演示APK
介绍: 这个APK是把视频显示分割成左右对等的两幅画面.同时无缝显示在屏幕上, 配合类似谷歌的cartdboard "纸片壳" 或市面上的魔镜等3D眼镜来播放视频画面, 根据3D眼 ...
- unity之视频播放器
首先需要准备一段视频,包括mp4.mov.webm.wmv等常用格式 创建plan,并且为其添加VideoPlayer组件,其中source有两种模式:一种是VideoClip一种是URL,第一种模式 ...
- Unity 3d脚本加密方案
原文:http://www.cppcourse.com/u3d-encryption.html 1.1 加密方案 Unity 3D项目游戏逻辑采用C#脚本,我们知道C#编译生成的DLL或EXE是I ...
- 可循环视频播放器丨VideoPlayer丨StreamingAssets加载
可循环视频播放器丨VideoPlayer丨StreamingAssets加载 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 可循环视频播放器丨VideoPlayer丨St ...
- 关于Unity视频播放器插件 AVPro Video(二)3D物体上视频播放
1.官网下载该插件或者我分享的链接: 链接:https://pan.baidu.com/s/1boGeJ8r 密码:mvbf 2.新建项目创建主要控制物体 3.创建对于视频播放在3D物体身上的材质 4 ...
- Unity 3D 脚本参考
第一章 概述 Unity中的脚本(Script)由附加到游戏对象(GameObject)的自定义脚本对象(Custom Script Object)组成,它们又被称为行为.脚本对象中各种函数被 ...
- Unity实现类似于苹果视频播放器视频播放进度条及声音进度条拖拽功能
Unity实现类似于苹果视频播放器视频播放进度条及声音进度条拖拽功能 前言 我在之前的博客里介绍过关于VideoPlayer的简单使用流程,之前一直想研究下videoPlayer中的使用进度条控制视频 ...
最新文章
- C和C++安全编码笔记:整数安全
- HttpRequest接口测试
- Linux内核Makefile
- python 笔记:爱因斯坦求和 einsum
- 内网渗透--获取其他电脑相册
- mysql 自身参照自身_mysql个人散乱笔记,慎重参考
- 目前基于区块链的档案防篡改系统的设计如何实现防篡改
- 美国国家公路交通安全管理局对特斯拉Autopilot系统展开正式调查
- L1-056 猜数字-PAT团体程序设计天梯赛GPLT
- 你在用MapGuide/Map 3D做什么?
- 《深入理解Spark:核心思想与源码分析》——1.3节阅读环境准备
- 如何设计一个本地缓存,涨姿势了!
- 顺序队列为空的条件_C语言实现顺序队列
- android高效视频压缩代码,Android视频压缩的示例代码
- 排序(2)二分排序、快速排序、归并排序
- Adobe Reader 下载
- 虚拟签到拍照打卡技巧,超实在的教程
- 掘金 AMA:听蚂蚁金服高级技术专家-- 章耿谈微服务、架构、日志那些事
- eas bos根据合同类别过滤自定义核算项目
- 【图像处理】自动报靶系统(重弹孔)【含GUI Matlab源码 973期】