我有一个项目,其中我使用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");
非常感谢任何帮助!
答案 0 :(得分:0)
你的问题很抽象。请添加您的统一和Android活动代码。我认为这种行为的原因可能是 - 当您单击后退按钮时,您的Android活动会将控制权恢复到视频播放的统一状态,而不是渲染目标图像以启动视频。您可能想要在Unity应用程序读取目标并启动视频时再次调用该方法。
我找到了与您的问题相关的内容。请检查这些问题的答案---&gt; Can't pass back event from Unity to android library jar和How 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视频;
全局..... 谢谢!