C#调用百度语音识别小Demo

时间:2021-07-12 01:38:20

标签:

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