示例#1
0
        public async Task <byte[]> get(SpeechRequestModel request)
        {
            string token = ShellHelper.Cmd("yc iam create-token").Trim();

            request.FolderId = _folderId;
            var content = new FormUrlEncodedContent(request.ToDict());

            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
            var response = await _client.PostAsync(_baseUrl, content);

            var result = response.Content.ReadAsByteArrayAsync().Result;

            return(result);
        }
示例#2
0
        public ActionResult Post(SpeechRequestModel request)
        {
            var errors = request.Validate();

            if (errors.Count > 0)
            {
                foreach (var error in errors)
                {
                    ModelState.AddModelError(error.Key, error.Value);
                }
                return(BadRequest(ModelState));
            }

            var wavData   = _client.get(request);
            var directory = _fileWriter.WriteToWav(wavData.Result, Convert.ToInt32(request.SampleRateHertz));

            return(Ok(directory));
        }