ios - Vuforia 视频播放

标签 ios vuforia

我正在尝试使用 Vuforia 视频播放示例应用程序作为大学项目的起点。我想做的是开发一个基于 iOS 的小型应用程序,该应用程序将识别我定义的目标,并根据示例应用程序在目标上播放我选择的视频。我是 Vuforia 的新手,因此我非常感谢通过以下简单解释提供的帮助和指导:

  1. 使用目标管理器创建我自己的目标数据集并下载 .xml 和 .dat 文件后,我必须在哪里更新示例应用程序代码才能使用我的目标而不是 Stones&Chips 示例?

  2. 集成目标后,当检测到我的目标时,我需要修改哪些示例应用程序代码才能调用我自己的视频(从网络流式传输或存储在 iPhone 本地)? 正如我所说,我对这个环境非常陌生,我发现通过示例学习效果最好,因此我们将不胜感激任何帮助和指导......

最佳答案

首先,将数据集(.dat 和 .xml)文件和所有视频添加到资源/ Assets 组中。

然后,从 VideoPlayback-2-0-7 开始,您需要在 VideoPlaybackAppDelegate.mm 中编辑以下行。

更新数据集以匹配数据集的文件名(.dat 和 .xml)。 第 92 行:

[qUtils addTargetName:@"Stones & Chips" atPath:@"StonesAndChips.xml"];

更新视频以匹配您添加的任何视频。 从第 148 行开始:

switch (i) {
    case 0:
        filename = @"VuforiaSizzleReel_1.m4v";
        break;
    default:
        filename = @"VuforiaSizzleReel_2.m4v";
        break;
}

更新 EAGLView.h 中视频目标的数量。 第 25 行:

#define NUM_VIDEO_TARGETS 2

更新 EAGLView.mm 中的视频纹理。请注意,您需要为每个可追踪对象提供一个纹理,否则应用程序将崩溃。加载纹理的代码没有错误检查。 从第 39 行开始:

    // Texture filenames (an Object3D object is created for each texture)
    const char* textureFilenames[] = {
        "icon_play.png",
        "icon_loading.png",
        "icon_error.png",
        "VuforiaSizzleReel_1.png",
        "VuforiaSizzleReel_2.png"
    };

更新EAGLView.mm中的目标名称匹配代码。 从第 357 行开始:

// VideoPlayerHelper to use for current target
int playerIndex = 0;    // stones

if (strcmp(imageTarget.getName(), "chips") == 0)
{
    playerIndex = 1;
}

关于ios - Vuforia 视频播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840447/

相关文章:

c# - 如何使用按钮切换/更改前后 Vuforia AR 相机?

ios - 在 iOS 9 中检查互联网连接失败?

ios - 错误 : Build input file cannot be found: '/Users/GoogleService-Info.plist' (in target 'Runner' from project 'Runner' )

ios - firebase 服务器可以通过用户设置对用户设备进行分组吗?

ios - 以编程方式创建按钮以转到下一个 View 时如何在 View 中传递数据?

ios - 施加力后的 ARKit 获取节点的位置

android - 如何在 Camera View android 中的墙壁上绘画?

android - OpenGL ES 2.0 的漫反射着色器 : Light changes with camera movement (Vuforia on Android)

java - 从 Android 插件调用 Unity 中的场景

android - 构建播放器时出错 : Vuforia Engine does not support Android TV