android - ArCore 增强图像图像不可见
问题描述
我正在实现ArCore
. 我的数据库图像的识别工作正常,当它们被识别时开始播放视频。但是我想知道当图像在场景中不再可见时是否有任何侦听器被调用,以便我可以停止并隐藏该图像的视频。目前在我的实现中,即使我删除了物理图像,视频也会保持在场景中识别图像的相同位置。
解决方案
当 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
}
}
}
}
推荐阅读
- javascript - Google Maps API - 为标记设置图标导致错误:“没有'new'就无法调用构造函数错误”
- security - Apache Camel CVE-2019-0188 曝光
- typescript - 本机打字稿键名对象替换
- amazon-web-services - AWS 上使用 kops 的 kubernetes 集群中的自定义 SSL 证书,身份验证失败
- python - 如何在我的 django 模型中使用 JSONField 的查询集中使用包含
- javascript - Angular 2 相当于 vuejs v-bind
- kubernetes - GKE/GCP 中的 Airflow KubernetesPodOperator 不会启动自定义 pod
- docker - gitlab 在 docker 容器中运行
- ios - LaunchScreen.storyboard 中用于 iPad 横向和纵向模式的初始屏幕的不同背景图像
- javascript - 为 jQuery 集合运行映射后获取合并数组