Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中更改高通sdk视频播放中的图像目标和视频_Android_Augmented Reality_Vuforia - Fatal编程技术网

如何在android中更改高通sdk视频播放中的图像目标和视频

如何在android中更改高通sdk视频播放中的图像目标和视频,android,augmented-reality,vuforia,Android,Augmented Reality,Vuforia,如何在高通sdk的videoplayback中更改图像目标和视频,我有两个新目标图像的dat和xml文件,但现在可以播放这些图像目标的视频,我应该按照两个步骤操作两个新的目标图像并播放相应的视频。您必须在项目中引用这些XML,就像在ImageTarget项目中引用其他XML一样。 在图像目标项目中,JNI Imagetarget.cpp中有一个方法 Java_com_qualcomm_QCARSamples_Imagtargets_Imagetargets_loadTrackerData(JNI

如何在高通sdk的videoplayback中更改图像目标和视频,我有两个新目标图像的dat和xml文件,但现在可以播放这些图像目标的视频,我应该按照两个步骤操作两个新的目标图像并播放相应的视频。

您必须在项目中引用这些XML,就像在ImageTarget项目中引用其他XML一样。 在图像目标项目中,JNI Imagetarget.cpp中有一个方法

Java_com_qualcomm_QCARSamples_Imagtargets_Imagetargets_loadTrackerData(JNIEnv *, jobject)
此方法处理多个XML文件 它将帮助您如何加载多个XML

相反,如果要检测多个标记,但使用单个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;
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 ;
在renderframe方法中 像这样吗

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;
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 ;

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

对于新目标图像:

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

要播放新视频,请执行以下操作: 要么用相同的名称替换资产文件夹中的视频文件,要么(我建议这样做)使用任何服务器url作为视频链接,如下所示-

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


希望这有帮助

你可以使用两种策略,一种是单个xmls和dat文件,其中包含多个目标(就像我所做的那样),另一种是你可以添加多个xmls和dat文件(这是一项繁忙的任务),这取决于你自己。嘿,可能会重复…看看我的ans,同样的[这里…][1][1]:是的,我得到了这些东西。谢谢Yogi