mui 百度语音识别转换文字

 

前言

  用mui混合开发的APP,现有一个功能需求就是语音转换成文字,并把语音进行保存。对此考虑两种选择讯飞和百度。最终选择了百度语音。

百度语音

 

  

通过官方文档我们大致可以确定如果想要实现语音识别,要做到以下几点:

1.获取Access Token

2.获取录音 REST API的形式传给百度服务器,返回文字

1.获取Access Token

1.1.申请百度开发账号

我是把百度信息放到系统中的配置文件中,每次使用的时候调用接口即可。如果有所修改便于维护。

复制代码
   <!--百度人工智能平台访问配置-->    <add key="BaiduAIPAppID" value="22465672" />    <add key="BaiduAIPAPIKey" value="hUw1j0gFd5k0GVzM3m9dGGnL" />    <add key="BaiduAIPSecretKey" value="YddydGN4NqbzHUGtFu1Gug8jhFXKf7vN" />
复制代码

ps:以上百度账号不能正常使用,自己如果要用请自行申请。

1.2.获取Access Token

从官网上我们可以知道access Token 是有有效期的。但在有效期下多次提交申请获得Access Token是相同的,所以我在同步到手机缓存是设置了有效期。在判断是否存在或者是否过期而做出是否重新申请的判断。

1.2.1.初始化更新数据

下载安装app后,把百度账号存入手机缓存中,以便于后期直接使用。

复制代码
   /*      * 更新百度人工智能平台访问配置       */    function UpdateBaiduAipConfig(){     //代用服务器接口获取百度账号相应信息保存到手机缓存中        platform.ajax("MBase/GetBaiduAipConfig",null,function(data){             if(data){                 var currentAppID = platform.GetData('BaiduAIPAppID') ;                 console.log(currentAppID)                 if (currentAppID != data.AppID) {//判断是否已存在相关数据                    console.log("AppID变化,更新配置");                     platform.SaveData("BaiduAIPAppID", data.AppID)//此方法是封装的H5存储页面缓存在这不再过多叙述                     platform.SaveData("BaiduAIPAPIKey", data.APIKey)                     platform.SaveData("BaiduAIPSecretKey", data.SecretKey)                     // 强制刷新token;                    platform.SaveData("token_timeout", new Date().getTime())                 }else{                     console.log("AppID没有变化,无需更新");                 }             }               },"post");     }
复制代码

以上把百度账号存进了到了手机页面缓存中,一直有效。

1.2.2.获取token

判断是否需要更新获取Token
复制代码
//判断是否需要更新获取Tokenfunction needUpdateToken() {         if(access_token == null || access_token == undefined || access_token.length == 0) {             console.log("没有token,需要更新");             return true;         }          var now = new Date().getTime();         if(token_timeout - now < 86400 * 1000) {             console.log("token即将过期,需要更新");             return true;         }          console.log("token有效,无需更新:" + access_token);         return false;     }
复制代码

//获取token

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信