2013-02-12 213 views
0

我尝试使用Vuforia视频播放示例应用程序作为大学项目的起点。我想要做的是开发一个小型的基于iOS的应用程序,它将识别我定义的目标,并根据示例应用程序播放我选择的目标视频。我是全新的,以Vuforia,所以我真的很感激,通过以下简单的解释方式的一些帮助和指导:Vuforia视频播放

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

  2. 一旦我整合了我的目标,当我的目标被检测到时,我需要修改哪些示例应用代码来调用我自己的视频(从网络流式传输或本地存储在iPhone上)? 正如我所说的,我很新的环境,并找到我最好的学习的例子,所以任何的帮助和指导,将不胜感激......

回答

1

首先,添加数据集(.DAT和.xml)文件和任何视频到资源/资产组。

然后,从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。请注意,您需要为每个trackable使用一个纹理,否则应用会崩溃。检查加载纹理的代码时没有错误。 始于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; 
} 
+0

这正是我一直在寻找我有是搞清楚如何创建一个.dat文件有两个图像的唯一问题。我该怎么做, – 2013-11-07 18:55:49

+0

.dat文件是通过Vuforia目标管理系统创建的。您需要创建一个帐户才能使用他们的在线系统。请注意,您的应用第一次启动目标识别时需要访问互联网(与Vuforia在服务器端进行预订有关)。 – 2013-11-08 21:09:40

+0

忘记了链接。 https://developer.vuforia.com/target-manager – 2013-11-08 21:10:13