UE4的视频播放(Media Player)

2023-11-17

1. 视频播放Begining

首先将需要播放的视频拖入。

在这里插入图片描述
创建Media Player和Media Texture。

在这里插入图片描述
在这里插入图片描述
创建Material,将材质改为User Interface。

在这里插入图片描述

在这里插入图片描述
在UI界面,创建Image,将这个材质装入。

在这里插入图片描述
在人物Pawn界面添加Media Sound组件并将小电视拖入。

在这里插入图片描述
在对应UI界面实现对应播放逻辑即可完成播放。

在这里插入图片描述

2. Media Player可以调用的功能

2.1 设置声音大小

注意此处需调用Media Sound的函数,而不是小电视的。

在这里插入图片描述

2.2 设置播放与关闭

在这里插入图片描述

2.3 拖动进度条

注意:Seek调用太频繁会出现卡顿,不能实现高刷。

在这里插入图片描述
这里的时间可以使用GetTotalXXX转换成秒、毫秒等,用于进度条的计算。

在这里插入图片描述

2.4 设置播放速率

在这里插入图片描述

2.5 设置是否循环播放

在这里插入图片描述

2.6 设置镜像画面

将Image翻转就是镜像,即渲染的X改为-1即可。

在这里插入图片描述

3. 其它自己实现的功能

3.1 显示播放时间

播放时间实时并更新,在Event Tick中实现。

在这里插入图片描述
在这里插入图片描述

3.2 进度条显示播放画面

使用另一个一样的作为显示画面的容器,并添加到原视频进度条上。

在这里插入图片描述
在这里插入图片描述
在原视频中,当鼠标悬浮式使用Set Time by Event频繁调用,到达实时画面的效果。

在这里插入图片描述

在这里插入图片描述

3.3 显示与隐藏

  • Visable:有物理碰撞且可见
  • Collapsed:折叠,可能会改变原有布局
  • Hidden:隐藏,不会改变原有布局
  • Not Hit-Testable:可见,但没有点击物理碰撞
  • 注意:视频功能中有些使用Collapsed,如需要隐藏但不影响布局的碰撞盒子。Hidden,影响布局的盒子。Not Hit-Testable,如视频功能的显示实时播放画面,需要可见且不能有物理碰撞。

在这里插入图片描述
此处使用一个盒子,对所有相关显隐操作进行清除。

3.4 画中画与全屏

画中画和全屏相对比较简单,都使用同一个Media Mat就可达到同步,只需要传入需要同步的值就行。

在这里插入图片描述

3.5 视频清晰度

因为Render Target才能调整视频清晰度,而Media Player并不能因此,我们将Media Player不断画到Render Target上,就能调整视频清晰度了。
首先创建Render Target。

在这里插入图片描述
在这里插入图片描述
将原来的材质使用Draw Material to Render Target不断Draw到Render Target的材质上。

在这里插入图片描述
使用对应的Render Target材质即为对应的分辨率大小,调整分辨率方式为调整采样。

在这里插入图片描述

4. 最终效果

最终实现了个仿b站的视频播放UI。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UE4的视频播放(Media Player) 的相关文章

  • 智能制造面临的主要问题

    随着工业4 0的发展 工业互联网 智能制造 智能工厂等概念正在兴起 但从本质上讲 制造业的目标是利用大数据 人工智能 互联网等先进技术改造制造业 使制造业成为定制体验 创新交付的竞争核心 在逐步实施工业4 0和中国制造2025的背景下 国内
  • R语言-引用函数对象作为参数

    问题描述 如何在在R的函数中通过字符串调用别的函数 以下面为例子 testFun lt function Fun x lt 1 100 Fun x 解法 这个问题没什么其实很笨 就是想记录一下 1 直接调用 testFun lt funct

随机推荐

  • 文本后缀“SCRIPT_EXP”无效;未找到文文本运算符或文本运算符模板“operator ““““SCRIPT_EXP”

    今天下载了一份源码 然后在编译的时候出现了这个问题 我查阅了相关资料 解决方法有两个 下面列举一下 1 字符文件编码 Visual Studio编译器 首先选中代码当前页 然后文件 gt 打开 高级保存选项 选中GB2312 确定 2 空格
  • HBase篇(1)-特性与应用场景

    结束了Zookeeper篇 接下来我们来说下Google三驾马车之一BigTable的开源实现 HBase 要讲的内容暂定如下 这是第一篇我们先不聊技术实现 只讨论特性和场景 hbase的特点 千万级高并发 PB级存储 非结构化存储 动态列
  • 树莓派升级ubuntu mate 16.04 到 18.04

    gt gt gt sudo do release upgrade Checking for a new Ubuntu release Get 1 Upgrade tool signature 819 B Get 2 Upgrade tool
  • 理解 es6 class 中 constructor 方法 和 super 的作用

    首先 ES6 的 class 属于一种 语法糖 所以只是写法更加优雅 更加像面对对象的编程 其思想和 ES5 是一致的 function Point x y this x x this y y Point prototype toStrin
  • html鼠标经过状态,30种炫酷html5鼠标滑过图片标题显示效果

    这款插件集合和30种html5不同效果的鼠标滑过图片时标题动画效果 这个插件使用css 3D transforms和伪元素来制作动画效果 请确保你的浏览器支持这些css3特性 另外 在文本上使用css transitions时 火狐浏览器存
  • Appium 实现一个 apk 的二级页面的点击操作

    前言 在本文中 我们将介绍如何使用 Appium 和 Python 来实现一个 apk 的二级页面的点击操作 用例目标 实现一个 apk 的二级页面的点击操作 初始思路 进入到该界面的直接点击该 button 即可 遇到问题 1 启动不起来
  • Jenkins安装与入门(+Git+Docker)自动化交互

    https jenkins io zh yum install git y yum install jdk 8u171 linux x64 rpm y rpm qa grep java 如果过滤出open jdk 删掉防止冲突 yum in
  • 每天进步一点点【图的深度优先搜索与广度优先搜索】

    图是一种数据结构 其中节点可以具有零个或多个相邻元素 两个节点之间的连接称为边 节点也可以称为顶点 图分为三种 无向图 有向图 带权图 图的表示方式有两种 二维数组表示 邻接矩阵 链表表示 邻接表 邻接矩阵 邻接矩阵是表示图形中顶点之间相邻
  • R语言基本函数的学习(持续更新)

    目录 前言 Tidyverse包 arrange 函数 head 函数 filter 函数 select 函数
  • ubuntu server 14.04 启动 gnome(桌面) fail(失败)

    这个是不能进入gnome桌面 按alt f1登录后 执行命令 startx 就可以进入桌面显示了 具体是什么原因还不清楚 可以是安装一些软件或配置时候出现的问题吧 有人知道也可以告诉我原因 感谢
  • upload-labs通关详解

    目录 Pass 01 前端js验证 Pass 02 后端MIME验证 Pass 03 黑名单验证 Pass 04 黑名单验证 htaccess Pass 05大小写绕过 Pass 6 空格绕过 Pass 07 点绕过 Pass 08 DAT
  • 三极管的工作状态及电流关系

    三级管分为NPN和PNP两种 一 先来说说三极管3种工作状态的电压关系 1 放大 发射结正偏 集电结反偏 1 NPN UBE gt 0 UBC lt 0 2 PNP UBE lt 0 UBC gt 0 2 截止 放射结 集电结都反偏 1 N
  • STM32+W5500+MQTT使用记录

    第一次尝试写博客 不为别的 为了积累一些知识和记录下使用的遇到的问题 关于MQTT协议的介绍可以百度搜索或者在本论坛内查找 介绍的还是很多 而且介绍的很想学习 当然我也收藏了很多 一下主要介绍我使用时如何处理的 1 实现MQTT协议 要基于
  • 知识星球-伙伴匹配系统08

    伙伴匹配系统08 控制定时任务的执行 锁 分布式锁 分布式锁实现的关键 抢锁机制 注意事项 Redisson 实现分布式锁 2 种引入方式 定时任务 锁 控制定时任务的执行 为啥 浪费资源 想象 10000 台服务器同时 打鸣 脏数据 比如
  • 学生python编辑2--反弹的小球

    目录 上下反弹的小球 左右反弹的小球 碰边反弹的小球 上下反弹的小球 coding UTF 8 开发团队 信息化未来 开发人员 Administrator 开发时间 2022 8 21 17 52 文件名称 自动反弹的小球 py 开发工具
  • 初级5 题目三 认识布隆过滤器

    1 布隆过滤器的使用需求是 查询一个东西是否在一个集合中 例如现在有 100 亿个url被列为黑名单 每次用户访问到该 url 时 返回 false 如果单纯地使用 HashSet 至少 6400 亿字节内存的损耗 而布隆过滤器可以极大程度
  • Python 实现 PCA

    前言 说好的要做个有逼格的技术博客 虽然这篇依然没什么水平 但总算走出了第一步 希望以后每天都能进步一点点吧 接触机器学习也一年多了 也学了很多算法 而PCA是数据预处理中一个很重要的算法 当时学习的时候也在网上看了很多资料 没想到一个简单
  • java.io.IOException: read failed, socket might closed or timeout, read ret: -1

    好吧 重要的事情说三遍 连接蓝牙前关闭蓝牙搜索 连接蓝牙前关闭蓝牙搜索 连接蓝牙前关闭蓝牙搜索
  • 补码加减运算及判断溢出方法

    一 补码加减运算 二 判断溢出方法 1 符号位判溢出方法 对于加减运算 两个异号数相加或者两个同号数相减 结果的绝对值一定比任何一个数的绝对值要小 不会发生上溢出 两个异号数相减或者两个同号数相加的绝对值肯定比任何一个数要大 可能发生溢出
  • UE4的视频播放(Media Player)

    1 视频播放Begining 首先将需要播放的视频拖入 创建Media Player和Media Texture 创建Material 将材质改为User Interface 在UI界面 创建Image 将这个材质装入 在人物Pawn界面添