c# 百度api语音识别

        public static 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)
            {
                Console.Write(ex.Message);
                Console.ReadLine();
            }
            JObject jo = JObject.Parse(access_html);
            access_token = jo["access_token"].ToString();//得到返回的toke
            return access_token;
        }
        public static 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)
        {
            string strJSON = "";
            //方法参数说明:
            //该方法返回值:
            //该方法执行正确返回值是语音翻译的文本,错误是错误号,可以去看百度语音文档,查看对应错误
            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;
            getTextRequst.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;
            }
        }

  string access = getStrAccess("VjdS2sNhUUDLZ57ktYTQdaVj", "896348e496b47382d49e0cd2e7d5f1e8");
            Console.Write(access);
            Console.ReadLine();
            string text = getStrText("D0-27-88-67-21-4B", access, "zh", "1.wav", "wav", "8000");

注意:视频采样率只支持8000,16000

时间: 2024-10-08 11:04:28

c# 百度api语音识别的相关文章

调用百度API进行文本纠错

毕设做的是文本纠错方面,然后今天进组见研究生导师 .老师对我做的东西蛮感兴趣.然后介绍自己现在做的一些项目,其中有个模块需要有用到文本纠错功能. 要求1:有多人同时在线编辑文档,然后文档功能有类似Word中的在疑似错误下标浪线,或者标记高亮,并且要推荐修改选项 要求2:语料数据的获取.处理以及完善 要求3:文章写完后要有生成keyword 根据老师所讲要查阅文献,以及已有项目来分析可行性,首先想到之前曾有同学调用百度API来进行文档的纠错,然后在这里试了一下. API描述 识别输入文本中有错误的

关于百度api定位开发中出现的一些问题

mLocationClient = ((LocationApplication)getApplication()).mLocationClient; 1 这段代码一直出现问题,导致程序在runtime崩溃 问题出在((LocationApplication)getApplication()). LocationApplication是自定义的类, 且继承了Application. 这就需要在Mainfest.xml文件中的<application节点中, 增加(修改)name属性: <appl

百度API使用--javascript api进行多点定位

使用百度地图提供的javascript api,给定多点的经纬度坐标,在百度地图上 显示这些坐标点. 其中包括各个点自适应地图显示,自定义坐标点的图标,以及各个点之间添加折线. 实现的效果如下图: 具体步骤如下: 1.页面引用百度地图api脚本 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密钥"></script> 其中ak为你

关于百度API的使用方法

申请API key可以按照以下链接网文: http://blog.csdn.net/xiaanming/article/details/11171581 http://blog.csdn.net/zgf1991/article/details/20488281 最重要的一点是:在eclipse中直接查看:winows -> preferance -> android -> build中查看Android签名证书的证书指纹 (SHA1)值,并用来申请API key即可: 注册和使用过程中需

C#调用百度API方法,POST和GET请求

        #region Get请求         /// <summary>           /// HTTP GET方式请求数据.           /// </summary>           /// <param name="url">URL.</param>           /// <returns>返回数据</returns>           private static st

【转】百度API获取城市名地名(附源码)

在做一个软件时,用到了定位功能.网上有很多关于google 的GPS定位,但网上关于google定位都没有用, 搜索下原因:(这里建议大家在中国就尽量不使用系统自带的定位) 因为Google的服务器不在中国(就算能网上关于定位的代码能用,那也非常的慢,除非你的应用是在国外使用)    由于网络等原因所以定位一般会失败 于是转向使用百度api来定位. 所用到的百度API参考地址. 取得位置的百度官方sdk参考 Android定位SDK 由坐标获取地址方法参考 Geocoding API 的 7.逆

百度Android语音识别SDK语义理解与解析方法

百度语义理解开放平台面向互联网开发者提供自然语言文本的解析服务,也就是可以根据文本的意图解析成相应的表示. 为了易于人阅读,同时也方便机器解析和生成,意图表示协议采用 json 语言进行描述,采用 gb18030 编码. json 语言的基本概念: 1.属性名/属性值 即键值对(key-value) 2.数组 在 json 中是"[]"括起来的内容,数据结构为 ["value1","value2",...],取值方式和所有语言中一样,使用索引获取

去百度API的百度地图准确叠加和坐标转换的解决方案研究

1.背景 目前项目上如果要使用百度地图,得加载百度的开发包,然后通过百度提供的接口来调用百度地图以及将需要标记的点显示在百度地图中等等. 此方案存在明显劣势: a.对原系统的破坏.一套从底层开发的系统,其地图的加载方式均是从底层通过换算行列号来进行加载的.而百度地图却必须脱离此方案通过调用百度API来实现,破坏了整个系统的架构,并且导致很多基于原架构的功能无法使用. b.自身发布的矢量服务等无法使用.因为百度采用的是非标准火星坐标,自己采集的大量shp数据如果不纠正到百度坐标系下,是无法正确叠加

百度api获取天气

<?php$city="武汉";$content = file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=$city&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ");print_r(json_decode($content)); ?> 百度api获取天气,布布扣,bubuko.com