使用媒体播放列表

演示如何使用媒体框架工具创建和使用媒体播放列表。

Windows
MacOS
Linux
See Also
On this page

在虚幻引擎4(UE4)中使用媒体资源时,可能会出现这样的情况:您希望以特定顺序播放一系列视频,或者希望允许玩家访问特定系列视频中的视频。 这可以通过使用 媒体播放列表(Media Playlist) 资源来实现,该资源指向按预定义顺序指定的 媒体源(Media Source) 资源。

在本教程中,我们创建了一个媒体播放列表,并允许玩家按顺序播放每个资源或通过按键访问播放列表中的特定视频。

PlaylistHero.png

步骤

对于本教程,我们使用的是已启用 初学者内容包(Starter Content)蓝图第三人称模板(Blueprint Third Person Template) 项目。 我们还在播放列表中使用了三个示例视频,您可以通过右键单击此示例视频 链接并提取计算机上的内容来下载它们。

  1. 内容浏览器(Content Browser) 中,展开 源面板(Sources Panel),并创建一个名为 电影(Movies) 的文件夹,然后右键单击它和 在资源管理器中显示(Show in Explorer)

    Playlist_01.png

    为了成功将视频文件与项目一起打包和部署,内容必须位于项目的 内容/电影(Content/Movies) 文件夹中。

  2. 将提供的示例视频拖至项目的 内容/电影(Content/Movies) 文件夹中。

    Playlist_02.png

  3. 在项目中,右键单击 内容/电影(Content/Movies) 文件夹,然后在 媒体(Media) 下选择 文件媒体源(File Media Source)

    Playlist_03.png

  4. 创建三个名称分别为 视频_01(Video_01)视频_02(Video_02)视频_03(Video_03)的 文件媒体源(File Media Source) 资源

    Playlist_04.png

  5. 视频_01(Video_01) 中,将 文件路径(File Path) 指向 Gideon_720x480 文件(或需要的视频文件),然后单击 打开(Open) 按钮。

    Playlist_05.png

  6. 重复上一步骤,为 视频_02(Video_02)视频_03(Video_03) 资源指定视频。

  7. 创建一个名为 媒体播放器(MediaPlayer)媒体播放器 资源,并创建一个相关的 媒体纹理(Media Texture),然后打开该 媒体播放器 资源。

    Playlist_08.png

    双击 媒体库(Media Library) 窗口中的视频将播放选中文件。

    Playlist_09.png

    您还可以通过启用 详细信息(Details) 面板中的 随机播放(Shuffle) 选项,设置播放器随机播放播放列表中的视频。 循环(Loop) 选项将循环播放整个播放列表(如果媒体播放列表中只有单个源,则一直播放单个源)。 我们的媒体播放器还被设置为 打开即播放(Play on Open),这意味着,当我们打开与此媒体播放器相关的媒体源(Media Source)时,它会自动开始播放。

    播放列表(Playlist) 窗口中,您可以保存新的播放列表资源,但从4.18版本开始,目前无法在媒体编辑器中向播放列表中添加项目。

  8. 内容浏览器(Content Browser)内容/电影(Content/Movies) 文件夹中,单击右键并在 媒体(Media) 下选择 媒体播放列表(Media Playlist),并将其命名为 我的播放列表(MyPlaylist)

    Playlist_10.png

  9. 打开 我的播放列表(MyPlaylist) 资源,然后在 媒体库(Media Library) 窗口中,双击视频并将每个视频添加到播放列表中。

    Playlist_11.png

    您还可以使用 + 按钮向播放列表添加新项目,并使用下拉菜单选择要添加的媒体源类型。 在 播放列表(Playlist) 窗口,您可以插入、复制或删除播放列表中的项目,也可以单击左键并拖动行,通过单击每行左侧的选项卡来重新排列播放顺序。 如果您想要循环整个播放列表,可以使用位于媒体播放列表(Media Playlist)窗口顶部的 循环(Loop) 选项。

  10. 在主编辑器(Main Editor)窗口的 模式(Modes) 面板中的 基本(Basic) 下,将一个 平面(Plane) 拖至关卡中,并使用 变换工具(Transform Tools) 调整其大小。

    Playlist_12.png

    使用变换工具 ,您可以根据需要移动(W键)、旋转(E键)或缩放(R键)此平面,就像我们将在此静态网格体上播放视频那样。

  11. 内容浏览器(Content Browser) 中,将 MediaPlayer_Video 媒体纹理资源拖至关卡中的此平面上,以创建并应用一个新材质。

    Playlist_13.png

    当您将 媒体纹理(Media Texture) 拖至关卡中的静态网格体上时,材质(Material) 将自动创建并应用到此网格体上,从而使我们可以播放视频。

  12. 在关卡中选择此 平面 后,在 详细信息(Details) 面板中单击 添加组件(Add Component) 按钮并添加 媒体声音(Media Sound) 组件。

    Playlist_14.png

    媒体声音(Media Sound) 组件使我们能够将音频与媒体播放器相关联,并提供了一种将音频与视频一起播放的方法。

  13. 选择 媒体声音(Media Sound)组件,然后在 媒体(Media) 部分下指定 MediaPlayer 资源。

    Playlist_15.png

  14. 在主工具栏(Main Toolbar)中,单击 蓝图(Blueprints) 按钮并选择 打开关卡蓝图(Open Level Blueprint)

    Playlist_16.png

    虽然我们的视频会在媒体编辑器中播放,但为了在游戏进程中播放它,我们需要打开播放列表,这样它便能够开始播放。

  15. 我的蓝图(MyBlueprint) 窗口中,创建一个名为 媒体播放器(MediaPlayer),类型为 媒体播放器对象参考(Media Player Object Reference) 的变量,并将 默认值(Default Value) 设置为 媒体播放器(Media Player) 资源。

    Playlist_17.png

    若要设置 默认值(Default Value),您可能需要 编译(Compile) 您的蓝图。

  16. 在图中,单击右键并添加一个 1 键盘事件,然后按住 Ctrl 并将 MediaPlayer 变量拖至图中。

    Playlist_18.png

  17. 拖出 MediaPlayer 变量,使用 Open Playlist Index(打开播放列表索引)(将 在播放列表中(In Playlist) 设置为 我的播放列表(MyPlaylist))并连接到 1 键盘事件的 Pressed(@@@)

    Playlist_19.png

    此处,当玩家按下键盘上的 1 键时,播放列表将打开(并开始播放)播放列表中的第一个视频。 此索引引用媒体播放列表资源中指定的播放列表索引顺序(如下图所示)并从零开始,零为播放列表中的第一个视频。 使用 打开播放列表索引(Open Playlist Index) 节点,您可以通过输入文件的索引值来指定希望在播放列表中打开的文件。

    Playlist_19b.png

  18. 单击右键并将 23 键盘事件分别添加到 打开播放列表索引(Open Playlist Index) 分别作为 索引1(Index 1)索引2(Index 2)

    Playlist_20.png

    执行此设置后,当您按1时,您将打开播放列表中的第一个文件,当您按2时,将打开第二个文件,当您按3时,将打开第三个文件。

  19. 单击右键,添加 左(Left)右(Right) 键盘事件以调用 上一个(Previous)下一个(Next) 节点,并添加 0 以调用 打开播放列表(Open Playlist) 节点。

    Playlist_21.png

    上一个(Previous)下一个(Next) 节点将分别跳至播放列表中的上一个和下一个视频,而 打开播放列表(Open Playlist) 节点执行的功能与在索引为0(或播放列表的开头部分)时打开播放列表时的功能相同。 凭借这些节点,我们可以使用键盘 左(Left)右(Right) 箭头键循环播放整个播放列表,按下 0 键将在播放列表开始处打开播放列表。

  20. 关闭 关卡蓝图(Level Blueprint),然后单击 播放(Play) 按钮以在编辑器中播放。

最终结果

当您在编辑器中播放时,按 1230 键将在指定索引处开始播放(如果适用)。

当一个视频结束时,它会自动跳转至播放列表中的下一个视频。如果您启用了 循环(Loop),则一旦播放完播放列表中的最后一个视频,它会跳转至播放列表的起始处。 播放视频时,可以按 左(Left)右(Right) 箭头键跳至播放列表中的上一个或下一个视频,也可以按 123 键直接跳转至播放列表中的特定视频。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback