Unity自带的Video Player与MediaPlayer的使用与区别

资源名AVPro Video 1.10
首先介绍一下unity自带的播放器Video Player
要把大象装进冰箱需要几步
首先创建一个新的工程并创建好canvas与videoplayer
在这里插入图片描述
第二步:在文件夹内创建一个存储视频图像的文件
在这里插入图片描述
第三步把创建出来的图片存储赋给视频面板并把Source属性调整为绝对路径URL寻找到你的视频在此值得一提的是在工程内StreamingAssets这个文件夹需要自己创建他的作用在于你打包程序后这个文件夹的内容不被编码从而可以从外部替换
在这里插入图片描述
在canvas内创建一个Rawimage并把创建过存储视频的Texture赋给Rawimage中Texture属性此时他的运行效果是这样的
在这里插入图片描述
由于我们需要全屏展示 所以需要对存储的Texture进行设置成全屏的分辨率 我们就手动调吧把默认的256改成对应需要的分辨率 我这里就全屏了1920*1080
在这里插入图片描述
在Rawimage也要更新他的图像显示大小
在这里插入图片描述
此时的运行效果就是这样了
在这里插入图片描述
如果不更改Texture直接更改Rawimage的尺寸或者scale会导致图片丢失像素点最终效果就是看不清
如不运行这个Rawimage会存储最后一次播放的图片的画面 这里需要自己用代码进行优化清除图片缓存具体的我就不写了 提供一个思路 他的优点在于视频切换视频时不存在黑帧可以实现完美切换
接下来说道MediaPlayer视频插件 他的优势在于可以做3D透明背景的效果我这里展示一下
原视频效果
在这里插入图片描述
实际显示效果
在这里插入图片描述
具体实现需要拥有透明通道的左右或上下视频实现
并再插件内进行处理最终实现的效果就是这样 其缺点在于切换视频的过程中存在黑帧

### 如何在 Unity使用 AVPro Video 插件进行视频播放 #### 导入插件 为了能够在 Unity 项目中利用 AVPro Video 进行视频播放,首先需要下载并安装该插件。可以从 Asset Store 或者其他可信资源获取最新版本的 AVPro Video 并将其导入至 Unity 工程内[^1]。 #### 设置播放环境 一旦成功导入了 AVPro Video 插件,在 Unity 编辑器里可以发现许多预设好的 Demo 场景以及组件帮助开发者快速上手。这些场景通常位于 `Examples` 文件夹下,并且包含了不同类型的媒体文件作为示例素材来展示功能特性。 对于希望从服务器加载视频的情况,则需调整 MediaPlayer 脚本来支持网络路径访问。具体操作是在 Inspector 面板中找到对应的属性字段设置 URL 参数指向远程存储位置即可实现在线流式传输播放效果[^3]。 #### 处理常见问题 当涉及到频繁更换影片源码时可能会遇到短暂显示 Logo 的现象,这主要是由于新旧片段之间的过渡处理不当所引起的视觉残留效应。为了避免这种情况的发生,可以在每次准备切换之前先暂停当前正在运行的内容直到完全停止后再继续下一步骤;另外也可以尝试通过编程方式控制透明度变化从而达到平滑过渡的目的[^2]。 ```csharp using UnityEngine; using RenderHeads.Media.AVProVideo; public class VideoPlayerController : MonoBehaviour { private Player _player; void Start() { _player = GetComponent<Player>(); // 加载本地或远程视频 string videoPath = "http://example.com/video.mp4"; // 替换成实际链接 _player.OpenUrl(videoPath); _player.Play(); } public void SwitchToAnotherVideo(string newVideoPath) { if (_player.IsPlaying()) { _player.Stop(); // 停止现有播放以防Logo闪现 } _player.ClearTextures(); // 清除缓存纹理 // 开始新的视频播放前等待一帧确保状态更新完成 StartCoroutine(WaitForNextFrameThenPlay(newVideoPath)); } IEnumerator WaitForNextFrameThenPlay(string path){ yield return null; // 等待下一帧 _player.OpenUrl(path); _player.Play(); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值