Unity_AR_Vuforia_开启手机自带闪光灯_及开启手机前后摄像头切换_相机自动对焦

关键代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//引入Vuforia命名空间
namespace Vuforia {
    public class CameriaSetting : MonoBehaviour
    {

        public int clickCount = 1 ;

        public int clickFlashCount = 1;

        // Use this for initialization
        void Start()
        {
            var vuforia = VuforiaARController.Instance;
            //开始回调
            vuforia.RegisterVuforiaStartedCallback(OnVuforiaStarted);
            //暂停回调
            vuforia.RegisterOnPauseCallback(OnVuforiaPause);
        }

        // Update is called once per frame
        void Update()
        {
            OnFocusModeClick();
        }

        private void OnVuforiaStarted() {
            //设置摄像机 自动对焦 自动对焦模式
            CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
        }

        private void OnVuforiaPause(bool isPause) {

        }

        public void OnFocusModeClick() {
            //对焦模式
            CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO);
        }

        //摄像机的切换
        public void SwitchCameriaDirection(CameraDevice.CameraDirection direction) {
            //停止摄像机
            CameraDevice.Instance.Stop();
            //取消初始化
            CameraDevice.Instance.Deinit();
            //初始化前置摄像头
            CameraDevice.Instance.Init(direction);
            //开启摄像头
            CameraDevice.Instance.Start();
        }

        //开启闪光灯
        public void FlashTouch(bool ON) {
            //设置闪光灯是否开启
            CameraDevice.Instance.SetFlashTorchMode(ON);
        }

        //点击切换摄像头
        public void SwitchCameria() {
            if (clickCount == 1)
            {
                SwitchCameriaDirection(CameraDevice.CameraDirection.CAMERA_FRONT);
                clickCount = 2;
            }
            else
            {
                SwitchCameriaDirection(CameraDevice.CameraDirection.CAMERA_BACK);
                clickCount = 1;
            }
        }
        //点击切换闪光灯
        public void SwichtFlash() {
            if (clickFlashCount == 1)
            {
                FlashTouch(true);
                clickFlashCount = 2;
            }
            else {
                FlashTouch(false);
                clickFlashCount = 1;
            }
        }
    }
}


添加闪光灯按钮与之相关联:

Unity_AR_Vuforia_开启手机自带闪光灯_及开启手机前后摄像头切换_相机自动对焦_第1张图片

 

你可能感兴趣的:(AR)