コード例 #1
0
ファイル: Camera.cs プロジェクト: rookiejava/TizenFX
        private void Create(CameraDevice device)
        {
            CameraDeviceType cameraDeviceType = CameraDeviceType.BuiltIn;

            try
            {
                using (var cameraDeviceManager = new CameraDeviceManager())
                {
                    var deviceInfo = cameraDeviceManager.GetDeviceInformation();
                    if (!deviceInfo.Any())
                    {
                        throw new InvalidOperationException("There's no available camera device.");
                    }

                    cameraDeviceType = deviceInfo.First().Type;
                }
            }
            catch (NotSupportedException e)
            {
                Log.Info(CameraLog.Tag,
                         $"CameraDeviceManager is not supported. {e.Message}. Not error.");
            }

            if (cameraDeviceType == CameraDeviceType.BuiltIn ||
                cameraDeviceType == CameraDeviceType.Usb)
            {
                Native.Create(device, out _handle).
                ThrowIfFailed($"Failed to create {cameraDeviceType.ToString()} camera");
            }
            else
            {
                Native.CreateNetworkCamera(device, out _handle).
                ThrowIfFailed($"Failed to create {cameraDeviceType.ToString()} camera");
            }
        }
コード例 #2
0
        private void Create(CameraDevice device)
        {
            CameraDeviceType cameraDeviceType = CameraDeviceType.BuiltIn;

            try
            {
                _cameraDeviceManager = new CameraDeviceManager();
                var deviceInfo = _cameraDeviceManager.GetDeviceInformation();
                Log.Info(CameraLog.Tag, deviceInfo.ToString());

                cameraDeviceType = deviceInfo.First().Type;
            }
            catch (NotSupportedException e)
            {
                Tizen.Log.Info(CameraLog.Tag,
                               $"CameraDeviceManager is not supported. {e.Message}. Not error.");
            }

            if (cameraDeviceType == CameraDeviceType.BuiltIn ||
                cameraDeviceType == CameraDeviceType.Usb)
            {
                Native.Create(device, out _handle).
                ThrowIfFailed($"Failed to create {cameraDeviceType.ToString()} camera");
            }
            else
            {
                Native.CreateNetworkCamera(device, out _handle).
                ThrowIfFailed($"Failed to create {cameraDeviceType.ToString()} camera");
            }
        }
コード例 #3
0
        internal CameraDeviceInformation(CameraDeviceType type, CameraDevice device, string name, string id)
        {
            ValidationUtil.ValidateEnum(typeof(CameraDeviceType), type, nameof(type));
            ValidationUtil.ValidateEnum(typeof(CameraDevice), device, nameof(device));

            Type   = type;
            Device = device;
            Name   = name ?? throw new ArgumentNullException(nameof(name), "name is null");
            Id     = id ?? throw new ArgumentNullException(nameof(id), "id is null");
        }
コード例 #4
0
ファイル: Camera.cs プロジェクト: jungh-yeon/TizenFX
 private void CreateNativeCameraDevice(CameraDeviceType type, CameraDevice device)
 {
     if (type == CameraDeviceType.BuiltIn || type == CameraDeviceType.Usb)
     {
         Native.Create(device, out _handle).
         ThrowIfFailed($"Failed to create {type} camera");
     }
     else
     {
         Native.CreateNetworkCamera(device, out _handle).
         ThrowIfFailed($"Failed to create {type} camera");
     }
 }
コード例 #5
0
        internal CameraDeviceInformation(CameraDeviceType type, CameraDevice device, string name, string id, int numberOfExtraStream)
        {
            ValidationUtil.ValidateEnum(typeof(CameraDeviceType), type, nameof(type));
            ValidationUtil.ValidateEnum(typeof(CameraDevice), device, nameof(device));

            Type   = type;
            Device = device;
            Name   = name ?? throw new ArgumentNullException(nameof(name), "name is null");
            Id     = id ?? throw new ArgumentNullException(nameof(id), "id is null");
            NumberOfExtraStream = numberOfExtraStream;

            Log.Debug(CameraLog.Tag, this.ToString());
        }
コード例 #6
0
ファイル: ARSession.cs プロジェクト: sobhan-zp/EasyAR-1
        public void SwitchCamera()
        {
            if (easyarCamera == null)
            {
                Debug.Log("only support easyar camera");
                return;
            }
            CameraDeviceType type = easyarCamera.type();

            if (type == CameraDeviceType.Front)
            {
                OpenCamera(true);
            }
            else
            {
                OpenCamera(false);
            }
        }
コード例 #7
0
ファイル: Camera.cs プロジェクト: jungh-yeon/TizenFX
        private void CreateCameraDevice(CameraDevice device)
        {
            CameraDeviceType cameraDeviceType = CameraDeviceType.BuiltIn;
            CameraDevice     cameraDevice     = device;

            if (CameraDeviceManager.IsSupported || device == CameraDevice.Default)
            {
                var deviceInfo = GetDeviceInformation();
                if (!deviceInfo.Any())
                {
                    throw new InvalidOperationException("CDM is supported but, there's no available camera device.");
                }

                cameraDeviceType = deviceInfo.First().Type;
                cameraDevice     = deviceInfo.First().Device;
                Log.Debug(CameraLog.Tag, $"Type:[{cameraDeviceType}], Device:[{cameraDevice}]");
            }

            CreateNativeCameraDevice(cameraDeviceType, cameraDevice);
        }