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插件相关推荐

  1. 酷播云html5倍速功能视频播放器,可以倍速播放视频的浏览器插件

    可以倍速播放视频的浏览器插件 Video Speed Controller 是一款倍速播放视频的浏览器插件! 现在网站上播放的视频,基本上都可以实现倍速播放,但偶尔也有些网站上的视频:没有倍速播放功能 ...

  2. Unity播放视频的几种方式

    简介:许多游戏都是在开场CG播放后,进入主菜单的界面,例如炉石传说等.因此对unity播放视频的方式产生了兴趣,在查阅许多博客以及官方文档后,总结出以下几种方式,并以videoplayer方式制作一个 ...

  3. Unity播放视频插件EasyMovieTexture

    注意事项: UGUI播放视频需要使用RawImage. 需要给播放物体使用VideoMaterial材质. 要在场景中挂载MediaPlayerCtrl 脚本. 需要在MediaPlayerCtrl ...

  4. Unity播放视频OGV格式视频

    1.先把需要在unity中播放的视频进行格式转换.目标格式:XXX.OGV.像这种: 2.把转换过后的视频文件拖进unity里.需要更改文件Inspector面板的Importer Version选项 ...

  5. CentOS Firefox播放视频--安装Flash插件

    在CentOS中自带的火狐浏览器不能在线看视频.听音乐,一般是因为没有安装flash插件, 下面是在网上找的配置步骤,备用. 1.下载flash插件(选择.tar.gz版本): http://down ...

  6. Unity播放视频(一) VideoPlayer的使用

    1.在UI上添加脚本 添加UITexture脚本 用于显示视频 添加VideoPlayer 2.上代码 VideoPlayer m_Video;UITexture m_Texture;void Sta ...

  7. Unity VRAR Unity播放全景视频及优化极点变形twist问题

    2016年是VR元年,这一年度多少少做了点东西,都是关于VR&AR的,虽然现在是冷冬期,个人认为前景还是有的,只不过会曲折前进,工业革命还分好几次呢,对吧! 好了,最近比较空闲,会整理一些VR ...

  8. VSCode 壁纸插件 背景播放视频插件

    2019独角兽企业重金招聘Python工程师标准>>> background 安装后,代码编写背景会自动使用默认图片: 新版本的VSCode会有一个警告,选择不再显示即可: 如果想要 ...

  9. linux 火狐打不开网页视频,Ubuntu 20.04 火狐浏览器无法播放视频(缺少flash插件)的解决方法...

    本地下载: 2.解压下载的文件:tar xzvf flash_player_npapi_linux.x86_64.tar.gz 3.打开终端并将路径切换到lib目录:cd /usr/lib 4.在li ...

最新文章

  1. linux环境下和网络服务相关的配置文件含义及如何配置
  2. spring aop xml事务配置
  3. linuv创建文件的命令_ECS实践案例丨逻辑卷的创建和扩容操作指导
  4. FFT快速傅立叶变换
  5. vue --- 子组件监听点击事件,接收父组件参数.实现对应跳转
  6. 判断cloudblob是否存在
  7. centos7 安装pip
  8. 【啊哈!算法】算法6:只有五行的Floyd最短路算法
  9. 英语12个月份名称的由来
  10. php 实现静态链接,在PHP中链接静态方法?
  11. oracle 数据库er生成,oracle数据库生成er图
  12. echarts 生成 迁徙图_百度地图+echarts(迁徙图)
  13. 企业级统一身份认证4A体系
  14. 华为手机pc模式机型_华为 P20 搭载的 PC 模式厉害了,刷新你对手机的认知
  15. Windows 11正式版来了!一文带你免费升级、镜像下载、最低系统要求
  16. Python:实现pollard rho大数分解算法(附完整源码)
  17. MAC默认软件安装位置
  18. 行存储(Row-Based)和列存储(Column-Based)
  19. C语言计算正方体表面积
  20. 7——18 day 24 35min 类属性

热门文章

  1. 《Photoshop+Lightroom数码摄影后期处理经典教程》—第1章1.4节将照片导入Lightroom...
  2. 赛门铁克推数据保护策略 降低企业成本
  3. 植发搞笑图片_搞笑秃头图片大全_关于秃顶的搞笑图片
  4. 实战 SQL:亚马逊、京东等电商平台的销售排行榜和飙升榜
  5. ROM和RAM测试总结
  6. README文件编写
  7. 玩转KVM:一招打开vm的console口
  8. 网线水晶头的接法标准
  9. bcdedit无法打开启动配置数据存储
  10. 第十九章:二分查找和二分答案