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
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。