예제 #1
0
        [NCDoc(110)][NCCode(18)] public static readonly ReadOnlyCollection <DeviceCamera> Cameras; //You shall not touch!
        #endregion

        #region ---Utility---
        ///<summary>
        ///Internal. Do not use.
        ///</summary>
        public static void Reset()
        {
            for (int i = 0, len = Cameras.Count; i < len; i++)
            {
                DeviceCamera cam = Cameras[i];
                cam.mFocusMode          = FocusMode.AutoFocus;
                cam.mFlashMode          = FlashMode.Auto;
                cam.mTorchMode          = Switch.Off;
                cam.mZoomRatio          = 0f;
                cam.requestedResolution = Vector2.zero;
                cam.requestedFramerate  = (int)FrameratePreset.Default;
            }
        }
예제 #2
0
        static DeviceCamera()
        {
            int cameraCount = WebCamTexture.devices.Length;

            DeviceCamera[] cameras = new DeviceCamera[cameraCount];
            for (int i = 0; i < cameraCount; i++)
            {
                cameras[i] = new DeviceCamera(i);
            }
            Cameras     = new ReadOnlyCollection <DeviceCamera>(cameras);
            RearCamera  = Cameras.FirstOrDefault(c => c.Facing == Facing.Rear);
            FrontCamera = Cameras.FirstOrDefault(c => c.Facing == Facing.Front);
        }
예제 #3
0
        public static void Release()
        {
            DeviceCamera.Reset();
            switch (Interface)
            {
            case NatCamInterface.NativeInterface:
                Native.Release();
                break;

            case NatCamInterface.FallbackInterface:
                Fallback.Release();
                break;
            }
        }
예제 #4
0
        public static void Play(DeviceCamera camera = null)
        {
            switch (Interface)
            {
            case NatCamInterface.NativeInterface:
                if (camera != null)
                {
                    Native.mActiveCamera = camera;
                }
                Native.Play();
                break;

            case NatCamInterface.FallbackInterface:
                if (camera != null)
                {
                    Fallback.mActiveCamera = camera;
                }
                Fallback.Play();
                break;
            }
        }