コード例 #1
0
ファイル: RecordingBLL.cs プロジェクト: skybluebin007/JW-Shop
 /// <summary>
 /// 增加一条砍价记录表数据
 /// </summary>
 /// <param name="mode">砍价记录表模型变量</param>
 public static int AddRecording(RecordingInfo mode)
 {
     mode.Id = dal.AddRecording(mode);
     return(mode.Id);
 }
コード例 #2
0
ファイル: RecordingController.cs プロジェクト: ellisken/Ling
        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);
        }