美文网首页
【Vuforia 琐碎知识 3】自动调焦、闪光灯、识别控制、前置

【Vuforia 琐碎知识 3】自动调焦、闪光灯、识别控制、前置

作者: 大刀和长剑 | 来源:发表于2019-03-13 15:21 被阅读0次

代码就这几句,但是如果Vuforia没有初始化完成就调用会崩溃。

// 设置摄像头自动调焦 
var isSuccessful = Vuforia.CameraDevice.Instance.SetFocusMode(Vuforia.CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);

// 打开闪光灯 true
Vuforia.CameraDevice.Instance.SetFlashTorchMode(true);
// 关闭闪光灯 false
Vuforia.CameraDevice.Instance.SetFlashTorchMode(false);

// 相机停止影像
Vuforia.CameraDevice.Instance.Stop();
// 相机开始摄取影像
Vuforia.CameraDevice.Instance.Start();

// 开始跟踪目标(开始识别)
Vuforia.TrackerManager.Instance.GetTracker<Vuforia.ObjectTracker>().Start();
// 停止跟踪目标(停止识别)
Vuforia.TrackerManager.Instance.GetTracker<Vuforia.ObjectTracker>().Stop();

// 启动Vuforia
GameObject.Find("ARCamera").GetComponent<Vuforia.VuforiaBehaviour>().enabled = true
// 关闭Vuforia
GameObject.Find("ARCamera").GetComponent<Vuforia.VuforiaBehaviour>().enabled = false

// 打开前置摄像头(Vuforia在未来版本中将会弃用这种方法)
Vuforia.CameraDevice.Instance.Init(Vuforia.CameraDevice.CameraDirection.CAMERA_FRONT);
Vuforia.CameraDevice.Instance.Start();
// 打开后置摄像头
Vuforia.CameraDevice.Instance.Init(Vuforia.CameraDevice.CameraDirection.CAMERA_BACK);
Vuforia.CameraDevice.Instance.Start();
// 打开默认的摄像头
Vuforia.CameraDevice.Instance.Init(Vuforia.CameraDevice.CameraDirection.CAMERA_DEFAULT);
Vuforia.CameraDevice.Instance.Start();

为了确保代码不会崩溃,可以在调用上面的代码前检查是否可用:

// 操作相机前检查相机是否在活动(相机Stop后或Vuforia未初始化完成,该函数返回false)
Vuforia.CameraDevice.Instance.IsActive()

// 操作跟踪识别前检查Vuforia是否完成了初始化
Vuforia.VuforiaManager.Instance.Initialized

这里提供一个小demo,如下是在手机上运行的结果:

手机上运行的良好

相关文章

网友评论

      本文标题:【Vuforia 琐碎知识 3】自动调焦、闪光灯、识别控制、前置

      本文链接:https://www.haomeiwen.com/subject/erjzpqtx.html