Unity播放视频——使用AVProVideo插件
1.右键创建MediaPlayer对象 并指定视频文件
MediaPlayer常用组件参数:
Source Path:视频路径
AbsolutePathOrURL:绝对路径
RelativeToDataFolder: 项目的根目录下
RelativeToPersitentDataFolder: 固定路径
RelativeToProjectFolder: 跟Assets同级的路径
RelativeToStreamingAssetsFolder:相对于StreamingAssets文件夹
Auto Open: 自动打开
Auto Start: 开始自动播放
Loop: 循环播放
Playback Rate: 播放速率
Volume:音量
Muted:静音
Subtitles:字幕
Events.AddListener:添加事件
2.在Canvas下添加UI/AVPro VideoUGUI 设置全屏。
将1中的MediaPlayer对象拖拽到Display UGUI中对应的MediaPlayer
3.在3D物体上播放:
1).将1中的MediaPlayer对象添加ApplyToMaterial组件,并指定MediaPlayer对象(自身)到属性Media中
2).新建材质球,设置Shader为AVProVideo/Lit/Diffuse,并赋值给ApplyToMaterial组件中的材质球
3).新建3D物体,将材质球赋值给3D物体
常用API:eg:public MediaPlayer mediaPlayer;
(1) 加载视频:mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.路径,
“视频名称”,是否自动播放(如不写默认为true))
(2) 播放/暂停: mediaPlayer.Control.Play()/Pause();
循环: mediaPlayer.Control.SetLooping(true);
变速:mediaPlayer.Control.SetPlaybackRate(速率);实现倒放让速率为负
(3) 进度条:
相关API:mediaPlayer.Control.GetCurrentTimeMs();//当前播放时间(毫秒)
mediaPlayer.Info.GetDurationMs();//视频总的时间长度
mediaPlayer.Control.Seek(x);//跳到指定的时间节点
滑动条跟随视频时间移动: slider.value=mediaPlayer.Control.GetCurrentTimeMs()/mediaPlayer.Info.GetDurationMs();
控制视频播放的进度:mediaPlayer.Control.Seek
(slider.value+mediaPlayer.Control.GetCurrentTimeMs())
通过EventTrigger组件(UGUI)实现拖拽进度条时视频暂停,松开播放
定义方法:调用播放/暂停 即可。
(4) 视频时间显示:text
已播放的:
毫秒换秒 int currentSeconds=(int)(mediaPlayer.Control.GetCurrentTimeMs()/1000);
当前分钟数:int currentMin=currentSeconds/60;
除去分钟剩下的秒:currentSeconds=currentSeconds%60; 或currentSeconds%=%60;
string currentSecondsStr=currentSeconds<10?“0”+currentSeconds:currentSeconds.ToString();
总的视频:
毫秒换秒 int allSeconds=(int)(mediaPlayer.Info.GetDurationMs()/1000);
总分钟数:int allMin=currentSeconds/60;
除去分钟剩下的秒:allSeconds=allSeconds%60; 或allSeconds%=%60;
string allSecondsStr=allSeconds<10?“0”+allSeconds:allSeconds.ToString();
(5) 控制声音以及静音效果:
mediaPlayer.Control.SetVolume(value);
mediaPlayer.Control.MuteAudio(true);
注意:静音跟音量是没有关系的,即:
设置静音后,能达到静音效果,但是音量值不为0,需要手动设置,建议设置静音最好通过控制Volume=0 来实现静音效果
(6) 事件:mediaPlayer.Events.AddListener(方法名); 如不知道参数,定义方法名,右键创建该方法(VS功能)
可以通过Switch语句实现 不同事件执行不同方法
MediaPlayerEvent.EventType.__
eg: switch (arg1){
case MediaPlayerEvent.EventType.SubtitleChange:
字幕改变方法 break;
case MediaPlayerEvent.EventType.FinishedPlaying:
播放完毕方法 break;}
(7)播放字幕:需要字幕的srt文件,首先设置组件中的 LoadExternalSubtitl为true,并绑定字幕文件,
给需要显示的Text组件添加SubtitlesUGUI组件,并进行绑定。
srt文件可以以记事本格式打开,支持富文本
如自己编写,按照如下格式在txt上写好,设置编码为UTF-8,后缀改为srt即可
格式为: eg:
1
00:00:00,000 --> 00:00:02,000
需要显示的字幕
隔一行
2
00:00:02,000 --> 00:00:05,000
(8)帧提取,自带事例场景脚本
Unity播放视频——使用AVProVideo插件相关推荐
- 酷播云html5倍速功能视频播放器,可以倍速播放视频的浏览器插件
可以倍速播放视频的浏览器插件 Video Speed Controller 是一款倍速播放视频的浏览器插件! 现在网站上播放的视频,基本上都可以实现倍速播放,但偶尔也有些网站上的视频:没有倍速播放功能 ...
- Unity播放视频的几种方式
简介:许多游戏都是在开场CG播放后,进入主菜单的界面,例如炉石传说等.因此对unity播放视频的方式产生了兴趣,在查阅许多博客以及官方文档后,总结出以下几种方式,并以videoplayer方式制作一个 ...
- Unity播放视频插件EasyMovieTexture
注意事项: UGUI播放视频需要使用RawImage. 需要给播放物体使用VideoMaterial材质. 要在场景中挂载MediaPlayerCtrl 脚本. 需要在MediaPlayerCtrl ...
- Unity播放视频OGV格式视频
1.先把需要在unity中播放的视频进行格式转换.目标格式:XXX.OGV.像这种: 2.把转换过后的视频文件拖进unity里.需要更改文件Inspector面板的Importer Version选项 ...
- CentOS Firefox播放视频--安装Flash插件
在CentOS中自带的火狐浏览器不能在线看视频.听音乐,一般是因为没有安装flash插件, 下面是在网上找的配置步骤,备用. 1.下载flash插件(选择.tar.gz版本): http://down ...
- Unity播放视频(一) VideoPlayer的使用
1.在UI上添加脚本 添加UITexture脚本 用于显示视频 添加VideoPlayer 2.上代码 VideoPlayer m_Video;UITexture m_Texture;void Sta ...
- Unity VRAR Unity播放全景视频及优化极点变形twist问题
2016年是VR元年,这一年度多少少做了点东西,都是关于VR&AR的,虽然现在是冷冬期,个人认为前景还是有的,只不过会曲折前进,工业革命还分好几次呢,对吧! 好了,最近比较空闲,会整理一些VR ...
- VSCode 壁纸插件 背景播放视频插件
2019独角兽企业重金招聘Python工程师标准>>> background 安装后,代码编写背景会自动使用默认图片: 新版本的VSCode会有一个警告,选择不再显示即可: 如果想要 ...
- linux 火狐打不开网页视频,Ubuntu 20.04 火狐浏览器无法播放视频(缺少flash插件)的解决方法...
本地下载: 2.解压下载的文件:tar xzvf flash_player_npapi_linux.x86_64.tar.gz 3.打开终端并将路径切换到lib目录:cd /usr/lib 4.在li ...
最新文章
- linux环境下和网络服务相关的配置文件含义及如何配置
- spring aop xml事务配置
- linuv创建文件的命令_ECS实践案例丨逻辑卷的创建和扩容操作指导
- FFT快速傅立叶变换
- vue --- 子组件监听点击事件,接收父组件参数.实现对应跳转
- 判断cloudblob是否存在
- centos7 安装pip
- 【啊哈!算法】算法6:只有五行的Floyd最短路算法
- 英语12个月份名称的由来
- php 实现静态链接,在PHP中链接静态方法?
- oracle 数据库er生成,oracle数据库生成er图
- echarts 生成 迁徙图_百度地图+echarts(迁徙图)
- 企业级统一身份认证4A体系
- 华为手机pc模式机型_华为 P20 搭载的 PC 模式厉害了,刷新你对手机的认知
- Windows 11正式版来了!一文带你免费升级、镜像下载、最低系统要求
- Python:实现pollard rho大数分解算法(附完整源码)
- MAC默认软件安装位置
- 行存储(Row-Based)和列存储(Column-Based)
- C语言计算正方体表面积
- 7——18 day 24 35min 类属性