使用媒体播放列表
假设您希望按特定顺序播放一系列视频,或需要在一系列视频中访问特定视频。 使用一个 媒体播放列表(Media Playlist) 资源可实现此功能。该资源指向预定义排序的 媒体源 资源。
我们在此指南中创建了一个媒体播放列表,玩家可按顺序播放每个资源,或通过按键访问播放列表中的特定资源。
在此指南中,我们使用的是启用了 Starter Content 的 Blueprint Third Person Template 项目。 此外还需要在电脑上存储一些 支持的视频文件 ,以便添加到播放列表进行播放。可使用您的本地视频,或 点击右键 下载这两个视频样本:视频样本 1 和 视频样本 2 。
步骤
在 Content Browser 中展开 Sources Panel,然后在 Content 中新建一个名为 Movies 的文件夹。
在 Movies 文件夹上 点击右键,选择 Show in Explorer,然后将视频文件放置到文件夹中。将视频文件放置在项目的 Content/Movies 文件夹中可确保视频正常打包。
创建两个 File Media Source 资源(命名为 Video_01 和 Video_02),将 File Path 指向每个相应的视频。
在 content browser 中创建一个 Media Player 资源,命名为 MyPlaylist。
在 MyPlaylist 中双击每个 File Media Source,将其添加到播放列表。也可使用 + 按钮添加一个空白元素,然后指定源媒体。在此例中我们使用的是 File Media Source 资源,也可在播放列表中添加 Stream Media Source 资源。
创建一个名为 VideoPlayer 的 Media Player 资源。
在 Create Media Player 窗口中勾选 Audio output SoundWave asset 和 Video output Media Texture asset。此操作将自动创建一个声波和媒体纹理资源(它将链接到播放必需的媒体播放器资源)。
在 Content Browser 的 StarterContent/Shapes 中,将一个 Shape_Plane 拖入关卡。
使用 平移(W)、旋转(E) 和 缩放(R) 工具将静态网格体调整到理想的大小和位置。
按住 Ctrl 选中 Sound Wave 和 Media Texture 资源,将它们放置在关卡中的 静态网格体 上。此操作将自动创建一个 材质 并将其应用到静态网格体。
在工具栏上,点击 Blueprints 按钮和 Open Level Blueprint。
添加 Media Player Reference 类型的一个 变量(名为 Media Player),并将其设为 VideoPlayer 媒体播放器资源。指定 默认值 之前可能需要进行 编译。
在 事件图表 中 点击右键 添加 1 键盘事件、2 键盘事件 和 3 键盘事件。
按住 Ctrl 拖入 Media Player 变量,然后从其连出引线并使用 Open Playlist Index,再将 InPlaylist 设为 MyPlaylist。
对 2 键盘事件 使用 Open Playlist(Index 设为 1),然后对 3 键盘事件 使用 Open Playlist。
关闭 关卡蓝图,然后点击 Play 按钮在关卡中开始游戏。
最终结果
在编辑器中进行游戏时,关卡加载后视频不会立即开始播放。按下 1 键时将从播放列表中的首个视频开始播放。 按下 2 键时播放将跳至播放列表中的第二个视频。按下 3 键时将从播放列表的开始打开并播放视频,与在索引 0 处打开播放列表效果相同。
Media Player 资源被设为 Play on Open,因此调用 open playlist 函数时将播放每个视频。 如要打开媒体源但不立即开始播放,可取消勾选媒体播放器资源中的 Play on Open 选项,然后使用 Play 函数播放打开的媒体源资源。
也可使用 Next(选取播放列表中的下一项)和 Previous(选取播放列表中的上一项)在打开的播放列表中导航。 媒体播放器拥有一个名为 Shuffle 的属性。启用它后打开一个源时将从播放列表中随机选取项目(也会影响 Previous 和 Next)。