Node2D 插件示例¶
本示例是使用 Kanzi Engine 插件的一个用例。本示例展示如何在 Kanzi Engine 插件中创建自定义 2D 节点 VideoView2D。VideoView2D 节点可渲染分辨率能被 2 整除且采用 MPEG-4 编解码器编码的视频文件。VideoView2D 节点不播放视频文件中的音轨。在 Android 上,本示例使用借助 OES_EGL_image_external 扩展的共享图像纹理,从外部上下文流式传输视频。
获取示例¶
要获取该示例,请在 Kanzi Studio Quick Start 窗口中点击 Projects,然后选择 Examples 选项卡。在 Node2D_plugin 示例旁边,点击 。
Kanzi Studio 会将该示例下载到 <KanziWorkspace>/Examples/Node2D_plugin 目录。视频文件存储在 Application/bin 目录中。
示例内容¶
示例在 Windows 和 Android 平台上运行:
Windows 平台使用 Microsoft Media Foundation 进行视频播放。您可以在
<KanziWorkspace>/Examples/Node2D_plugin/Application/src/platform_specific/win32/src中找到 Windows 平台的源文件。备注
要在 Windows 10 N 和 Windows 10 KN 版本中运行 Node2D 插件示例,您必须安装 Microsoft 提供的 Media feature pack。
Android 平台使用本机媒体播放器。您可以在
<KanziWorkspace>/Examples/Node2D_plugin/Application/src/platform_specific/android/src中找到 Android 平台的源文件。您可以在
<KanziWorkspace>/Examples/Node2D_plugin/Application/src/plugin中找到两个平台通用的代码。
要了解如何创建 Kanzi Engine 插件,请参阅 创建 Kanzi Engine 插件。
使用外部纹理句柄¶
Android 原生代码和 Kanzi 应用程序框架在不同的上下文中运行,这就是它们无法共享 GPU 资源的原因。一种广泛可用的 OpenGL 扩展(GL_OES_EGL_image_external)提供了对外部纹理资源的支持,这些资源可以在上下文之间共享,限制很少。Node2D_plugin 示例使用 Android 媒体播放器将视频流渲染到绑定到外部纹理句柄的表面视图。在 Kanzi 端,渲染视频的节点的纹理绑定到相同的外部纹理句柄,并在渲染循环中显示。
您可以在其他平台上使用这种方法,但前提是:
设备支持
GL_OES_EGL_image_external扩展。另一个环境中的服务能够提供要传送给外部纹理句柄的纹理。
典型的示例是流式传输视频。
运行示例¶
要运行示例:
在 Kanzi Studio 中,选择 File > Open Kanzi Command Prompt。
Kanzi Command Prompt 打开 Windows 命令提示符,并为您打开 Kanzi Command Prompt 的 Kanzi 版本设置 Kanzi 环境变量。
使用 Kanzi Command Prompt 访问 Kanzi 实用工具和构建工具(例如 Gradle 和 CMake),而无需使用绝对路径或设置环境变量。
小技巧
您可以在 Windows 开始菜单的 Rightware 目录中找到 Kanzi Command Prompt。
当您安装了多个版本的 Kanzi 时,确保将您要在该命令提示符下使用的 Kanzi 版本的 Kanzi Command Prompt 启动。
在
<KanziWorkspace>/Examples/Node2D_plugin/Application目录中的 Kanzi Command Prompt 中运行生成示例应用程序的 Visual Studio 解决方案的脚本。generate_cmake_vs2022_solution.bat
该脚本会在
<KanziWorkspace>/Examples/Node2D_plugin/Application/build_vs2022目录中为应用程序生成 Visual Studio 解决方案。在 Visual Studio 中打开
<KanziWorkspace>/Examples/Node2D_plugin/Application/build_vs<Version>/Node2D_plugin.slnVisual Studio 解决方案。在 Visual Studio 的 Solution Explorer 中,右键点击
Node2D_plugin_executable项目并选择 Set as StartUp Project。选择您要使用的解决方案配置并运行您的应用程序。
在开发期间,选择 Debug 配置。当您准备好创建生产版本时,选择 Release 配置。