我正在实现ArCore的新的增强图像识别功能。我的数据库图像的识别工作正常,当它们被识别时,视频开始播放。然而,我想知道当图像在场景中不再可见时,是否有任何侦听器被调用,以便我可以停止并隐藏该图像的视频。目前,在我的实现中,即使我删除了物理图像,视频也会停留在识别图像的场景中的相同位置。
发布于 2019-06-20 16:47:37
当AugmentedImage正在跟踪时,检查TrackingState的当前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
}
}
}
}发布于 2018-11-18 23:41:12
你可以使用public TrackingState getTrackingState (),如果它返回public static final TrackingState STOPPED,你可以随心所欲地停止或销毁你的视频。有关更多详细信息,请参阅here
https://stackoverflow.com/questions/53353538
复制相似问题