我正在实现ArCore
的新增强图像识别功能。我的数据库图像识别正常,并且在被识别时开始播放视频。但是我想知道当图像在场景中不再可见时是否有任何监听器被调用,以便我可以停止并隐藏该图像的视频。目前,在我的实现中,即使我删除了物理图像,视频也会在识别图像的场景中保持相同的位置。
答案 0 :(得分:1)
如果public TrackingState getTrackingState ()
返回public static final TrackingState STOPPED
,则可以使用{{1}},您可以停止视频或随意销毁视频。有关更多详细信息,请参阅here
答案 1 :(得分:0)
在TrackingState为“跟踪”时,检查当前TrackingMethod的AugmentedImage。当图像在相机视野内时,TrackingMethod为FULL_TRACKING,否则它将位于LAST_KNOWN_POSE中。如果您使用的是示例扩增的图像示例,则在AugmentedImageActvity.java中将像这样-
private void onUpdateFrame(FrameTime frameTime)
{
.
for (AugmentedImage augmentedImage : updatedAugmentedImages)
{
.
switch (augmentedImage.getTrackingState())
{
.
case TRACKING: if(augmentedImage.getTrackingMethod()==AugmentedImage.TrackingMethod.FULL_TRACKING) {
//Enable VideoNode
}
else{
//Disable VideoNode / Pause MediaPlayer /detach node
}
}
}
}