using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Net; using System.IO; using System.Threading; using Newtonsoft.Json.Linq; namespace voice { public partial class Form1 : Form { string testtoken = ""; string cuid = "";//随便写 string serverURL = "http://vop.baidu.com/server_api"; public Form1() { InitializeComponent(); cuid = Guid.NewGuid().ToString(); } private string Post(string audioFilePath) { serverURL += "?lan=zh&cuid=kwwwvagaa&token=" + testtoken; FileStream fs = new FileStream(audioFilePath, FileMode.Open); byte[] voice = new byte[fs.Length]; fs.Read(voice, 0, voice.Length); fs.Close(); fs.Dispose(); HttpWebRequest request = null; Uri uri = new Uri(serverURL); request = (HttpWebRequest)WebRequest.Create(uri); request.Timeout = 5000; request.Method = "POST"; request.ContentType = "audio/wav; rate=16000"; request.ContentLength = voice.Length; try { using (Stream writeStream = request.GetRequestStream()) { writeStream.Write(voice, 0, voice.Length); writeStream.Close(); writeStream.Dispose(); } } catch { return null; } string result = string.Empty; string result_final = string.Empty; using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { using (Stream responseStream = response.GetResponseStream()) { using (StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8)) { string line = string.Empty; StringBuilder sb = new StringBuilder(); while (!readStream.EndOfStream) { line = readStream.ReadLine(); sb.Append(line); sb.Append("\r"); } readStream.Close(); readStream.Dispose(); result = sb.ToString(); string[] indexs = result.Split(','); foreach (string index in indexs) { string[] _indexs = index.Split('"'); if (_indexs[2] == ":[") result_final = _indexs[3]; } } responseStream.Close(); responseStream.Dispose(); } response.Close(); } return result_final; } private void button1_Click(object sender, EventArgs e) { textBox1.Text = Post(Application.StartupPath + "\\2.wav"); } } }
附件中有源代码,具体看里面的README
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。