问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

百度语音api有.net平台可以使用的吗

发布网友 发布时间:2022-04-23 07:49

我来回答

1个回答

热心网友 时间:2022-06-17 22:31

,.net平台,发送http请求,调用百度API,进行语音翻译,翻译能力为中文,英语,粤语,请看百度语音识别文档.
这里我只贴出了http部分的代码,,也是最关键的,,希望大家多提意见,,优化代码

public string API_id = "你的ID";
public string API_record = null;
public string API_record_format = null;
public string API_record_HZ = null;
public string API_key = "你的KEY";
public string API_secret_key = "你的SECRRET_KEY";
public string API_language = null;
public string API_access_token=null;
public string strJSON = "";

public string getStrAccess(string para_API_key, string para_API_secret_key)
{

//方法参数说明:
//para_API_key:API_key(你的KEY)
//para_API_secret_key(你的SECRRET_KEY)

//方法返回值说明:
//百度认证口令码,access_token
string access_html = null;
string access_token = null;
string getAccessUrl = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" +
"&client_id=" + para_API_key + "&client_secret=" + para_API_secret_key;
try
{
HttpWebRequest getAccessRequest = WebRequest.Create(getAccessUrl) as HttpWebRequest;
//getAccessRequest.Proxy = null;
getAccessRequest.ContentType = "multipart/form-data";
getAccessRequest.Accept = "*/*";
getAccessRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";
getAccessRequest.Timeout = 30000;//30秒连接不成功就中断
getAccessRequest.Method = "post";

HttpWebResponse response = getAccessRequest.GetResponse() as HttpWebResponse;
using (StreamReader strHttpComback = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
access_html = strHttpComback.ReadToEnd();
}
}
catch (WebException ex)
{
MessageBox.Show(ex.ToString());
}

JObject jo = JObject.Parse(access_html);
access_token = jo["access_token"].ToString();//得到返回的toke
return access_token;
}

public string getStrText(string para_API_id, string para_API_access_token,string para_API_language, string para_API_record,string para_format,string para_Hz)
{
//方法参数说明:
para_API_id: API_id (你的ID)
para_API_access_token (getStrAccess(...)方法得到的access_token口令)
para_API_language (你要识别的语言,zh,en,ct)
para_API_record(语音文件的路径)
para_format(语音文件的格式)
para_Hz(语音文件的采样率 16000或者8000)

//该方法返回值:
//该方法执行正确返回值是语音翻译的文本,错误是错误号,可以去看百度语音文档,查看对应错误

string strText = null;
string error = null;
FileInfo fi = new FileInfo(para_API_record);
FileStream fs = new FileStream(para_API_record, FileMode.Open);
byte[] voice = new byte[fs.Length];
fs.Read(voice, 0, voice.Length);
fs.Close();

string getTextUrl = "http://vop.baidu.com/server_api?lan=" + para_API_language + "&cuid=" + para_API_id + "&token=" + para_API_access_token;
HttpWebRequest getTextRequst = WebRequest.Create(getTextUrl) as HttpWebRequest;

/* getTextRequst.Proxy = null;
getTextRequst.ServicePoint.Expect100Continue = false;
getTextRequst.ServicePoint.UseNagleAlgorithm = false;
getTextRequst.ServicePoint.ConnectionLimit = 65500;
getTextRequst.AllowWriteStreamBuffering = false;*/

getTextRequst.ContentType = "audio /"+para_format+";rate="+para_Hz;
getTextRequst.ContentLength = fi.Length;
getTextRequst.Method = "post";
getTextRequst.Accept = "*/*";
getTextRequst.KeepAlive = true;
serverreq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";
getTextRequst.Timeout = 30000;//30秒连接不成功就中断
using (Stream writeStream = getTextRequst.GetRequestStream())
{
writeStream.Write(voice, 0, voice.Length);
}

HttpWebResponse getTextResponse = getTextRequst.GetResponse() as HttpWebResponse;
using (StreamReader strHttpText = new StreamReader(getTextResponse.GetResponseStream(), Encoding.UTF8))
{
strJSON = strHttpText.ReadToEnd();
}
JObject jsons = JObject.Parse(strJSON);//解析JSON
if (jsons["err_msg"].Value<string>() == "success.")
{
strText = jsons["result"][0].ToString();
return strText;
}
else
{
error = jsons["err_no"].Value<string>() + jsons["err_msg"].Value<string>();
return error;
}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 有没有合适华为520的大容量电池 华为手机电池最大容量、 麻辣小龙虾尾肉怎么做如何做好吃 怎么在静态网页中嵌入百度翻译或其他的, 我想知道‘麻辣龙虾尾’怎么做啊? 麻辣龙虾尾怎么做最正宗? 麻辣小龙虾怎么做最好吃 正宗麻辣小龙虾的做法 麻辣小龙虾尾肉怎么做如何做好 醉人的麻辣虾尾(麻辣小龙虾)怎么做 爱奇艺一分钱体验 在手机里爱奇艺的桌面上出现的1字号码是什么意思,怎么去掉它 爱奇艺1元会员这些是怎么来的?卖家怎么赚? 爱奇艺怎样一起看电影 爱奇艺1元会员怎么开 华为手机x7可以换大容量电池吗? 华为有一款电池5000毫安是哪一款 我用第一次我问了所有爱奇一会员号借我一个是可以提问的,为什么第二次就不行了,他说违规 华为nova7 5G手机电池最大容量90%是什么情况 谁有爱奇一VIP我能用一下吗? 爱奇艺是什么 麻辣小龙虾怎么做 肉味鲜美广受人们欢迎 华为官方是否可以更换大容量电池 百度翻译api网页版接入怎么使用post发送数据?php 干香麻辣的麻辣小龙虾,都有哪些制作技巧? 广发信用卡的外观怎么样? 华为手机可以在华为售后换比手机上的电池更大容量的电池吗 广发信用卡颜色上有什么区别 广发信用卡金卡普卡怎么区分 如何知道广发银行信用卡是金卡还是普卡? 使用百度等在线翻译系统翻译的内容是直接上传到百度公司内部的服务器上吗?翻译内容的安全性能够保障吗? 广发欢乐信用卡普卡年费多少,可以免年费吗 1688国际站必须先绑定银行卡吗? 广发信用卡怎么看是金卡还是普卡 阿里巴巴国际站怎么绑定银行卡 广发银行信用卡欢乐卡和白臻卡的区别? 阿里巴巴国际站只允许绑定四大银行的外币银行卡吗 买汽车保险,保险公司说反现金,可都一个个了,怎么没收到? 广发信用卡有什么等级区分吗?比如标准金卡、什么什么的? 如何申请百度翻译API 用我老公的营业执照在1688开店,绑我的手机号码和银行卡号可以吗