1.介绍
百度语音搜索,基于强大的语音识别能力,支持通过语音命令快速发起搜索,让搜索更快捷、更智能。
对比手机端的文本键盘输入,百度语音搜索是更自然的,符合移动设备的交互方式。
在百度强大的人工智能技术支持下,语音搜索前景广阔。语音等现代搜索引擎要做的是连接人与信息及
服务,它不仅会倾听,更懂得理解与思考,未来将更好地造福人类
2.使用步骤(建议结合百度语音识别官网的API一起看)
1、注册开放开放平台
2.获取专属的百度API Key和 百度Secret Key
代码设计
3.依据专属的百度API Key和 百度Secret Key获取Access Token
使用HTTP请求 请求地址格式如下,建议用String类型拼接
https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" +"&client_id=" + APIKey + "&client_secret=" + SecretKey
然后获取返回的Json数据,获取其中的“access_token”
ps:可以引用Newtonsoft.Json ,达到更高效编码
4.把要识别的语音保存为wav文件
5.使用HTTP请求把保存的wav文件上传,上传地址格式
"http://vop.baidu.com/server_api?lan="+ lan+ "&cuid="+ cuid+ "&token="+token
把保存wav文件转为流上传,在通过这个HTTP请求获取返回的Json数据,获取其中的
“result”识别信息或“err_msg”错误信息
3.代码核心展示
第一次HTTP请求
/// <summary>
///HTTP请求 获取Access Token
/// </summary>
/// <param name="APIKey"></param>
/// <param name="SecretKey"></param>
private void GetToken(string APIKey, string SecretKey)
{
string getAccessUrl = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" +
"&client_id=" + APIKey + "&client_secret=" + SecretKey;
JObject json = JObject.Parse(POST.GetPOST(getAccessUrl));
token = json["access_token"].Value<string>();
}
第二次HTTP请求
public string WavToText(string filename, string lan)
{
///http://vop.baidu.com/server_api?lan=zh&cuid=***&token=***
///Json格式
if (File.Exists(filename))
{
string cuid = GetMAC();//获取MAC
Byte[] byt = File.ReadAllBytes(filename);
string uri = "http://vop.baidu.com/server_api?lan=" + lan + "&cuid=" + cuid + "&token=" + token;
string html = POST.SetPosT(uri, byt);
try
{
JObject jsons = JObject.Parse(html);
if (jsons["err_msg"].Value<string>() == "success.")
{
return jsons["result"][0].ToString();
}
else
{
return jsons["err_msg"].Value<string>();
}
}
catch (Exception)
{
//异常提示。表示返回的的非JSON数据,意味着参数错误或不支持格式
return html;
}
}
else
{
return "文件不存在";
}
}
关注我的上传资源,里面一份代码,省略了第四步把要识别的语音保存为wav文件
为了弥补我失去了15分,我把积分设置为1分,如果不愿意也可以QQby我 892878525