首页 > 解决方案 > ArCore 增强图像图像不可见

问题描述

我正在实现ArCore. 我的数据库图像的识别工作正常,当它们被识别时开始播放视频。但是我想知道当图像在场景中不再可见时是否有任何侦听器被调用,以便我可以停止并隐藏该图像的视频。目前在我的实现中,即使我删除了物理图像,视频也会保持在场景中识别图像的相同位置。

标签: androidarcoreandroid-augmented-realitysceneform

解决方案


当 TrackingState 为 Tracking 时,检查 AugmentedImage 的当前TrackingMethod。当图像在相机视野中时,TrackingMethod 为 FULL_TRACKING ,否则它将在 LAST_KNOWN_POSE 中。如果您使用的是示例 augmentedImages 示例,则在 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
                      }
      }
    }
  }

推荐阅读