0

如何在 qualcomm sdk 的视频播放中更改图像目标和视频,我有两个新目标图像的 dat 和 xml 文件,但现在可以为这些图像目标播放视频,我应该遵循两个步骤来处理两个新目标图像和播放视频对应。

4

2 回答 2

0

如果您只想跟踪新图像并播放新视频,请执行以下操作:

对于新的目标图像:

用从 Vuforia trackermaneger 站点下载的 dat 和 xml 替换 android videoplayback 示例项目中资产文件夹中的 dat 和 xml。如果您不想再次构建 JNI 代码,请不要忘记将它们重命名为默认值。

对于要播放的新视频:要么用相同的名称替换资产文件夹中的视频文件,要么(我推荐这个)你使用任何服务器 url 作为视频链接,像这样-

Uri videolink = Uri.parse("http://commonsware.com/misc/test2.3gp");
                        mMediaPlayer.setDataSource(mParentActivity,videolink);

在 videoplaybackhelper 类中

希望这可以帮助

于 2013-02-09T12:43:42.740 回答
0

你必须在你的项目中给出这些 XML 的引用,就像其他 XML 给出的参考一样,这里也是 ImageTarget 项目中的示例。在图像目标项目中,JNI Imagetarget.cpp 中有一个方法

Java_com_qualcomm_QCARSamples_Imagtargets_Imagetargets_loadTrackerData(JNIEnv *, jobject)

此方法处理多个 XML 文件,它将帮助您如何加载多个 XMLS

相反,如果您想检测多个标记但使用单个 XML 和 DAt 文件从 Vuforia 服务器识别您的目标将其组合在单个 Xml 文件中,然后您可以像这样使用

static const int NUM_TARGETS =4;
static const int Test1 = 0;
static const int Test2 = 0;
static const int Test3 = 0;
static const int Test4 = 0;
static const int Test5 = 0;

并在像这样的renderframe方法中

if (strcmp(trackable->getName(), "Test1 ") == 0)
            currentTarget=Test1 ;
if (strcmp(trackable->getName(), "Test2 ") == 0)
            currentTarget=Test2 ;
if (strcmp(trackable->getName(), "Test3 ") == 0)
            currentTarget=Test3 ;
if (strcmp(trackable->getName(), "Test4 ") == 0)
            currentTarget=Test4 ;
if (strcmp(trackable->getName(), "Test5 ") == 0)
            currentTarget=Test5 ;
于 2013-01-28T10:26:42.307 回答