private async Task <string> ExecuteCamera(string requestUri) { if (requestUri == URL_INITIALIZE_CAMERA) { JsonMessage <string> msg = new JsonMessage <string>(); msg.Ok = true; msg.Content = await _webcam.InitializeCamera(); return(msg.Stringify()); } else if (requestUri == URL_TAKE_SNAPSHOT) { StorageFolder folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(NavConstants.TEMP_FOLDER); string name = await _webcam.TakePhoto(folder); string webaddress = WebServer.GetServerWebAddress(); return("{\"photoPath\":\"http://" + webaddress + "/" + NavConstants.TEMP_FOLDER + "/" + name + "\"}"); } else if (requestUri == URL_START_VIDEO_RECORDING) { StorageFolder folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(NavConstants.TEMP_FOLDER); StorageFile file = await folder.CreateFileAsync(Webcam.VIDEO_FILE_NAME, CreationCollisionOption.GenerateUniqueName); string message = await _webcam.RecordVideo(file); return("{\"message\":\"" + message + "\",\"videoPath\":\"" + file.Name + "\"}"); } else if (requestUri == URL_STOP_VIDEO_RECORDING) { string name = await _webcam.RecordVideo(null); string webaddress = WebServer.GetServerWebAddress(); string path = "http://" + webaddress + "/" + NavConstants.TEMP_FOLDER + "/" + name; return("{\"message\":\"Video is saved.\",\"videoPath\":\"" + path + "\"}"); } else if (requestUri == URL_LIVE_VIDEO) { JsonMessage <object> error = new JsonMessage <object>(); error.Ok = false; error.ErrorMessage = $"Method {URL_LIVE_VIDEO} not implemented yet"; return(error.Stringify()); } else { JsonMessage <object> error = new JsonMessage <object>(); error.Ok = false; error.ErrorMessage = $"Method {requestUri} not implemented yet"; return(error.Stringify()); } }