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

时间:2018-01-10 09:22:01

标签: android unity3d unity5 augmented-reality vuforia

我有一个项目,其中我使用Unity与Vuforia和Android工作室

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

我在Vuforia相机图层中有一个按钮,可以在点击时将我发送到Android Activity。

当图像目标被聚焦时(视频正在播放)并且当我点击该按钮时,Android活动被打开,当我从Android活动恢复到UNITY SCENE时,视频没有恢复播放,直到图像目标是不专注。这个功能流程是完美的!

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

所以,每当我从Android活动恢复到统一场景并且同时图像目标没有聚焦时,我想停止恢复此视频播放!

这是我从Unity Scene打开Android Activity的方式,

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

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

视频定义为

  

VideoPlaybackBehaviour视频;

全局..... 谢谢!