UE4使用MediaPlayer播放视频没有声音

UE4使用MediaPlayer播放视频没有声音

简介

UE4中偶尔会有播放视频的场景,比如游戏开始的开机动画旧可能是个视频,还有游戏内部可能会需要一些宣传视频。遇到这些场景,这个时候播放视频有多种选择,其中一种就是使用UE4自带的MediaPlayer。

使用MediaPlayer播放视频

新建一个MediaPlayer
在这里插入图片描述
勾选生成贴图选项
在这里插入图片描述
生成结果是这样的,现在我们旧有了媒体播放器和一张视频输出的贴图
在这里插入图片描述
然后创建一个媒体资源
在这里插入图片描述
打开媒体资源,选择一个视频文件
在这里插入图片描述
打开媒体播放器可以看到资源已经自动连接上了,我们可以右键在资源上打开预览。
在这里插入图片描述
这时候我们需要用上面视频创建的时候一起生成的贴图创建一个材质
在这里插入图片描述
打开材质,我们这里只需要修改材质需要在什么场景下使用就好了,这里我们选择userinterface就是在界面上用的意思。

在这里插入图片描述
这样在把我们的材质用在需要的地方就可以了。其他类型的材质也是一样。

当然到这里还没玩完,我们的视频播放器并没有直接旧播放出来,也不会是这样的,我们需要在代码中添加播放的逻辑,,让指定的播放器播放指定的视频资源。这里我是在界面上配置的视频播放器和资源。
在这里插入图片描述

在这里插入图片描述
你以为这就完了?NoNoNo.这样播放出来的视频是没有声音的,没发现吗,我们已知处理的只有图片,没有声音。-_-

播放视频的声音

那么最简单的播放声音的方法是啥呢?其实很简单,进入编辑器配置下就好了。
打开项目设置
在这里插入图片描述
这里勾上
在这里插入图片描述
勾上
在这里插入图片描述
这就完事了,现在你的视频就可以播声音了
怎么买?还没听够,行,再加点。这个方法其实我是不怎么喜欢的,这个方法播放视频实际上是全局打开了,相当不可控,如果我有的想开有的不想开咋办。是不是很不开心。
还有一个开启声音的方法就是使用actor的组件的方式。就先建个actor吧
在这里插入图片描述
然后添加两个组件
在这里插入图片描述
然后这几个参数根据自己的需要配置一下。
在这里插入图片描述
需要注意的是你widget里面使用的mediaPlayer是一定要和mediasound组件设置的一样的,否则就不能同步了,使用的时候就是要创建一个actor显示出来,剩下的我也就不多说了,常规操作,视频和声音就同步出来了。

后记

其实吧播放视频的方法还很多,但是我觉得都没有原生的好用,唯一有一点就是,如果你哪天不需要声音播放还需要处理视频的话,可以考虑opencv,也还是很好用的。我这里就不说了,有需要的可以单独私信我,单独解答。荆轲刺秦王,byebye了您呢。

### 在 Unreal Engine 4 中集成和播放视频文件 要在 Unreal Engine 4 (UE4) 中实现视频播放功能,可以通过 Media Framework 来完成。Media Framework 是 UE4 提供的一套用于处理媒体文件的功能模块,支持多种视频格式的解码和播放[^3]。 以下是关于如何在 UE4 中集成并播放视频文件的关键步骤: #### 使用 MediaPlayer 和 MediaTexture 进行视频播放 1. **启用插件** 首先,在编辑器中启用 `Media` 插件以及平台特定的媒体框架插件(如 Windows 平台下的 `Windows Media Framework`)。这可以在项目的插件菜单中找到并激活[^3]。 2. **创建 MediaPlayer 对象** 创建一个蓝图类或者 C++ 类来实例化 `MediaPlayer` 对象。此对象负责加载和控制媒体源的播放状态。通过调用 `OpenURL()` 方法指定要播放视频文件路径或流地址[^3]。 ```cpp UMediaPlayer* MediaPlayer = NewObject<UMediaPlayer>(); FString VideoPath = TEXT("/Game/Videos/MyVideo.mp4"); MediaPlayer->OpenUrl(*VideoPath); ``` 3. **配置 MediaSource** 设置 `MediaSource` 属性指向目标视频资源的位置。如果视频存储于本地磁盘,则可以直接提供相对路径;如果是网络直播流,则需输入对应的 URL 地址[^3]。 4. **绑定到材质纹理节点** 将 `MediaTexture` 节点连接至场景中的静态网格物体或其他渲染表面。这样就可以把正在播放的画面映射显示出来[^3]。 5. **启动与停止播放逻辑** 利用事件图表定义触发条件以执行 Play/Pause/Stop 动作。例如当玩家按下某个按键时开启视频回放过程[^3]。 ```cpp if (MediaPlayer && !MediaPlayer->IsPlaying()) { MediaPlayer->Play(); } else { MediaPlayer->Pause(); } ``` 以上操作完成后即可成功实现在虚幻引擎四当中嵌入外部影片素材并且动态呈现给用户观看的效果[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值