/// <summary> /// 增加一条砍价记录表数据 /// </summary> /// <param name="mode">砍价记录表模型变量</param> public static int AddRecording(RecordingInfo mode) { mode.Id = dal.AddRecording(mode); return(mode.Id); }
public async Task <TranscriptionViewModel> Create() { // FormData sent by XHR on the front-end. Script can be found in site.js var data = HttpContext.Request.Form.Files[0]; // Language Region selected by user var langRegion = HttpContext.Request.Form["language_region"]; // Create Blob instance Blob blob = new Blob(_configuration["BlobStorageAccountName"], _configuration["BlobStorageKey"], _configuration); // Grab container that holds all audio blobs CloudBlobContainer container = await blob.GetContainer("soundrecording"); // Send to blob storage string path = await CreatePathAsync(data); await blob.UploadFile(container, data.FileName, path); // Get Uri back from blob storage var newBlobURI = blob.GetBlob(data.FileName, container).Uri.AbsoluteUri; // Set default language to first string in alt languages List for selected region string defaultLang = Languages[langRegion].First(); // Set alternate languages to remaining items in List List <string> alts = Languages[langRegion].GetRange(1, Languages[langRegion].Count - 1); // Transcribe audio blob with best guess(es) per selected region var result = await _recordings.Transcribe(newBlobURI, defaultLang, alts); // Initialize Recording object and set properties Recording recording = new Recording() { FileName = data.FileName, URI = newBlobURI, Transcription = result.Transcript, }; // Get language of transcribed result and set it as prop of transcription view model if (result.Language != null && result.Language.Length > 0) { Language language = await _languages.GetLanguage(result.Language.ToLower()); if (language != null) { recording.Language = language; result.Language = language.EnglishName; } else { result.Language = result.Language; } //Create Recording entry in app's DB await _recordings.AddRecording(recording); } //If API returned an empty response, set result.Language equal to error else { result.Language = "Language detection failed, try again."; } // Return transcription view model return(result); }