private void OnCameraIntrinsicsCheckerInstanceCreated(CameraIntrinsicsChecker checker) { if (checker == null) { Debug.LogError("Creating the CameraIntrinsicsChecker object failed."); return; } this.cameraIntrinsicsChecker = checker; checker.GetCameraIntrinsicsAync(OnCameraIntrinsicsGot); }
public static async void CreateAync(OnVideoCaptureResourceCreatedCallback onCreatedCallback) { var allFrameSourceGroups = await MediaFrameSourceGroup.FindAllAsync(); //Returns IReadOnlyList<MediaFrameSourceGroup> var candidateFrameSourceGroups = allFrameSourceGroups.Where(group => group.SourceInfos.Any(IsColorVideo)); //Returns IEnumerable<MediaFrameSourceGroup> var selectedFrameSourceGroup = candidateFrameSourceGroups.FirstOrDefault(); //Returns a single MediaFrameSourceGroup if (selectedFrameSourceGroup == null) { onCreatedCallback?.Invoke(null); return; } var selectedFrameSourceInfo = selectedFrameSourceGroup.SourceInfos.FirstOrDefault(); //Returns a MediaFrameSourceInfo if (selectedFrameSourceInfo == null) { onCreatedCallback?.Invoke(null); return; } var devices = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture); //Returns DeviceCollection var deviceInformation = devices.FirstOrDefault(); //Returns a single DeviceInformation if (deviceInformation == null) { onCreatedCallback(null); return; } var cameraIntrinsicsChecker = new CameraIntrinsicsChecker(selectedFrameSourceGroup, selectedFrameSourceInfo, deviceInformation); await cameraIntrinsicsChecker.CreateMediaCaptureAsync(); onCreatedCallback?.Invoke(cameraIntrinsicsChecker); }
// Use this for initialization void Start() { CameraIntrinsicsChecker.CreateAync(OnCameraIntrinsicsCheckerInstanceCreated); }