以下简单代码尝试将wave文件发布到Google Speech2Text服务,但总是失败并显示“Gateway Timeout(504)”或一般异常“Operation timed out”.有人可以帮忙吗?
public void ProcessWaveFile(string path) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create( "https://www.google.com/"+ "speech-api/v1/recognize?"+ "xjerr=1&client=speech2text&lang=en-US&maxresults=10"); ServicePointManager.ServerCertificateValidationCallback += delegate { return true; }; request.Timeout = 60000; request.Method = "POST"; request.KeepAlive = true; request.ContentType = "audio/wav"; request.UserAgent = "speech2text"; FileInfo fInfo = new FileInfo(path); long numBytes = fInfo.Length; byte[] data; using (FileStream fStream = new FileStream( path,FileMode.Open,FileAccess.Read)) { data = new byte[fStream.Length]; fStream.Read(data,(int)fStream.Length); fStream.Close(); } using (Stream wrStream = request.GetRequestStream()) wrStream.Write(data,data.Length); try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); var resp = response.GetResponseStream(); if (resp != null) { StreamReader sr = new StreamReader(resp); MessageBox.Show(sr.ReadToEnd()); resp.Close(); resp.dispose(); } } catch (System.Exception ee) { MessageBox.Show(ee.Message); } }
非常感谢.
舒贾特
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。