【问题标题】:Vuforia Video being played even if the image target is not focused即使图像目标没有聚焦,Vuforia 视频也会播放
【发布时间】:2018-01-10 09:22:01
【问题描述】:

我有一个项目,我在其中使用 Unity 与 Vuforia 和 Android Studio

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

我在 Vuforia 摄像头层中有一个按钮,点击后可将我发送到 Android Activity。

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

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

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

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

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

任何帮助将不胜感激!

【问题讨论】:

    标签: android unity3d unity5 augmented-reality vuforia


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      视频被定义为

      VideoPlayback行为视频;

      全球...... 谢谢!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多