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"); } }
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"); } }
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"); }
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"); } }
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()); }
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); } }
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); }