即使图像目标未聚焦,也正在播放 Vuforia 视频

Vuforia Video being played even if the image target is not focused

我有一个项目,其中我同时使用了 Unity 和 Vuforia 以及 Android studio

每当跟踪 ImageTarget 时我正在播放视频,当目标丢失时,视频将暂停。我为此使用相同的 Vuforia 脚本。

我在 Vuforia 相机层中有一个按钮,单击它会将我发送到 Android Activity。

当图像目标被聚焦时(视频正在播放),当我点击那个按钮时,Android 活动被打开,当我从 Android 恢复到 UNITY SCENE 时 Activity,直到图像目标未聚焦,视频才会恢复播放。这个功能流程是完美的!

但是, 当图像目标被聚焦时(视频正在播放)现在我将相机从图像目标移开(视频现在停止播放)并且当我点击按钮时,Android acitvity 被打开并且 当我从 Android Activity 恢复到 UNITY SCENE 时,视频播放正在恢复播放,即使图像目标未聚焦

因此,每当我从 Android activity 恢复到 unity 场景并且同时图像目标未聚焦时,我想停止恢复此视频播放!

这就是我从 Unity 场景中打开 Android Activity 的方式,

AndroidJavaObject jo = new AndroidJavaObject("packagename.Activityname");
        int i = jo.Call<int>("openAndroidActivity");

如有任何帮助,我们将不胜感激!

你的问题很抽象。请添加您的统一和 android activity 代码。我认为这种行为的原因可能是——当你点击后退按钮时,你的 Android activity 将控制权恢复到视频播放的统一位置,而不是在目标图像上渲染以启动视频。您可能希望在您的统一应用程序读取目标并启动视频时再次调用该方法。

我找到了与您的问题相关的内容。请检查这些问题的答案---> Can't pass back event from Unity to android library jar and How to return from Unity Player to previous running Android Activity?

记录了几个小时后,我找到了解决方案。只需在 TrackableEventHandler.cs 脚本的 onUpdate() 方法中添加以下代码。

  video = GetComponentInChildren<VideoPlaybackBehaviour>();
        if (mLostTracking == true && mHasBeenFound == false && video!=null && video.CurrentState == VideoPlayerHelper.MediaState.PLAYING)
        {
            video.VideoPlayer.Pause();
        }

其中视频定义为

VideoPlaybackBehaviour video;

全球...... 谢谢!