• @throws IOException

  • @throws DemoException

*/

public static String getResponseString(HttpURLConnection conn) throws IOException, DemoException {

return new String(getResponseBytes(conn));

}

/**

  • 从HttpURLConnection 获取返回的bytes

  • 注意 HttpURLConnection自身问题, 400类错误,会直接抛出异常。不能获取conn.getInputStream();

  • @param conn

  • @return

  • @throws IOException http请求错误

  • @throws DemoException http 的状态码不是 200

*/

public static byte[] getResponseBytes(HttpURLConnection conn) throws IOException, DemoException {

int responseCode = conn.getResponseCode();

if (responseCode != 200) {

System.err.println("http 请求返回的状态码错误,期望200, 当前是 " + responseCode);

if (responseCode == 401) {

System.err.println(“可能是appkey appSecret 填错”);

}

throw new DemoException(“http response code is” + responseCode);

}

InputStream inputStream = conn.getInputStream();

byte[] result = getInputStreamContent(inputStream);

return result;

}

/**

  • 将InputStream内的内容全部读取,作为bytes返回

  • @param is

  • @return

  • @throws IOException @see InputStream.read()

*/

public static byte[] getInputStreamContent(InputStream is) throws IOException {

byte[] b = new byte[1024];

// 定义一个输出流存储接收到的数据

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

// 开始接收数据

int len = 0;

while (true) {

len = is.read(b);

if (len == -1) {

// 数据读完

break;

}

byteArrayOutputStream.write(b, 0, len);

}

return byteArrayOutputStream.toByteArray();

}

}

2、token的获取类,TokenHolder


package baidu.restapi.common;

import org.json.JSONObject;

import java.io.IOException;

import java.net.HttpURLConnection;

import java.net.URL;

/**

  • token的获取类

  • 将apiKey和secretKey换取token,注意有效期保存在expiresAt

*/

public class TokenHolder {

public static final String ASR_SCOPE = “audio_voice_assistant_get”;

public static final String TTS_SCOPE = “audio_tts_post”;

/**

  • url , Token的url,http可以改为https

*/

private static final String url = “http://openapi.baidu.com/oauth/2.0/token”;

/**

  • asr的权限 scope 是 “audio_voice_assistant_get”

  • tts 的权限 scope 是 “audio_tts_post”

*/

private String scope;

/**

  • 网页上申请语音识别应用获取的apiKey

*/

private String apiKey;

/**

  • 网页上申请语音识别应用获取的secretKey

*/

private String secretKey;

/**

  • 保存访问接口获取的token

*/

private String token;

/**

  • 当前的时间戳,毫秒

*/

private long expiresAt;

/**

  • @param apiKey 网页上申请语音识别应用获取的apiKey

  • @param secretKey 网页上申请语音识别应用获取的secretKey

*/

public TokenHolder(String apiKey, String secretKey, String scope) {

this.apiKey = apiKey;

this.secretKey = secretKey;

this.scope = scope;

}

/**

  • 获取token,refresh 方法后调用有效

  • @return

*/

public String getToken() {

return token;

}

/**

  • 获取过期时间,refresh 方法后调用有效

  • @return

*/

public long getExpiresAt() {

return expiresAt;

}

/**

  • 获取token

  • @return

  • @throws IOException http请求错误

  • @throws DemoException http接口返回不是 200, access_token未获取

*/

public void resfresh() throws Exception {

String getTokenURL = url + “?grant_type=client_credentials”

  • “&client_id=” + ConnUtil.urlEncode(apiKey) + “&client_secret=” + ConnUtil.urlEncode(secretKey);

// 打印的url出来放到浏览器内可以复现

System.out.println(“token url:” + getTokenURL);

URL url = new URL(getTokenURL);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setConnectTimeout(5000);

String result = ConnUtil.getResponseString(conn);

System.out.prin Java开源项目【ali1024.coding.net/public/P7/ 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 Java/git】 tln(“Token result json:” + result);

parseJson(result);

}

/**

  • @param result token接口获得的result

  • @throws DemoException

*/

private void parseJson(String result) throws Exception {

JSONObject json = new JSONObject(result);

if (!json.has(“access_token”)) {

最后

Java架构进阶面试及知识点文档笔记

这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理

Java分布式高级面试问题解析文档

其中都是包括分布式的面试问题解析,内容有分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!

互联网Java程序员面试必备问题解析及文档学习笔记

Java架构进阶视频解析合集
共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理**

[外链图片转存中…(img-Xb2ofZ42-1650356580600)]

Java分布式高级面试问题解析文档

其中都是包括分布式的面试问题解析,内容有分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!

[外链图片转存中…(img-DbvCXAmi-1650356580601)]

互联网Java程序员面试必备问题解析及文档学习笔记

[外链图片转存中…(img-heVMK1rd-1650356580601)]

Java架构进阶视频解析合集

利用百度语音识别技术实现文字转语音的应用(Java版附源码)相关推荐

  1. 【Java 代码实例 11】利用百度语音识别技术实现文字转语音的应用

  2. scrapy爬虫之爬取百度手机助手app信息并保存至mongodb数据库(附源码)

    声明: ​ 本文内容仅供学习python爬虫的同学用作学习参考!!! ​ 如有错误,请评论指出,非常感谢!!! 1.使用环境 python 3.8 scrapy 2.5 mongodb pycharm ...

  3. 百度离线地图示例之十三:动态运行轨迹实现(附源码)

    前言介绍: 主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本(包含常用的55个示例),文末 ...

  4. C# Winform调用百度接口实现身份证文字识别教程完整版!!!(源码)

    C# Winform调用百度接口实现身份证文字识别教程源码完整版 这是一篇完整的身份证文字识别系统,源码已经附上,按照我的步骤,可以实现人脸识别登录呦!!!当然,前提是你有耐心看完! 目录 C# Wi ...

  5. 【Android App】实战项目之实现你问我答的智能语音机器人(超详细 附源码和演示视频)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 一.需求描述 想必大家都见过商场里的智能语音机器人,你对它提问时它可以自动回答你的问题,接下来我们也实现这样一个机器人,它依靠语音技术完成问询服务 基 ...

  6. 利用CNN对股票“图片”进行涨跌分类——一次尝试【附源码】

    首先解释一下标题: CNN:卷积神经网络(Convolutional Neural Network), 在图像处理方面有出色表现,不是被川普怒怼的那个新闻网站: 股票涨跌:大家都懂的,呵呵: 股票图片 ...

  7. 疯狂python讲义视频 百度云-疯狂Python讲义 PDF高清版附源码

    内容简介 本书全面,深入地介绍了Python编程的相关内容,大致可分为四个部分.*系统部分介绍了Python的基本语法结构,函数编程,类和对象,模块和包,异常处理等: 第二部分主要介绍Python常用 ...

  8. 用flask快速打造一个技术导航网站,并自动采集导航!附源码

    洞悉安全,风洞网,认准官方网站! 版权声明:本文由风洞网原创文章,未经博主允许不得转载! 首发声明 本文首发于风洞网,跳到原文地址. 1. 静态部署 到 https://github.com/WebS ...

  9. matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...

    一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...

最新文章

  1. python文本替换 数据库_Python pptx(Power Point)查找和替换文本(ctrl+H)
  2. Qt Remote Object(QtRO)实现进程间通信
  3. Excel多因素不重复方差分析
  4. 洛谷 - P3980 [NOI2008]志愿者招募(最小费用最大流+思维建边)
  5. java 示例_功能Java示例 第5部分–将I / O移到外部
  6. 【渝粤教育】电大中专会计电算化_1作业 题库
  7. 怎样获取php页面get的值,PHP循环获取GET和POST值的代码
  8. java的cxf的maven_Maven+Spirng+Mybatis+CXF搭建WebService服务
  9. 2018.10.01 NOIP模拟 卡牌游戏(贪心)
  10. android中prop配置参数名,21.Android系统属性build.prop文件(笔记)
  11. Graphics进行局部旋转的办法
  12. jpegNPP编译为so
  13. SLAM算法 - 3D激光匹配算法
  14. 宏定义的大括号以及斜杠
  15. 工行电子银行收费标准
  16. 优动漫PAINT入门宝典(图层篇)——矢量图层
  17. 基于数字电路典型分频电路设计
  18. 前大灯是近光灯还是远光灯_大灯是近光灯还是远光灯
  19. 余世维 - 老板首先要诚实
  20. 每日一题——孪生素数对(教你如何高效判断素数,判断素数的全部方法)

热门文章

  1. 拉卡拉智能POS新功能预览
  2. clamav Java_杀毒软件包clamav部署-CentOS6.5
  3. matlab弹道仿真,战役战术导弹弹道仿真在simulink下如何实现
  4. 软件 2.0 时代的程序分析
  5. Visual Studio 全套配色方案 (国内下载,4970个方案,更新于2019.10.06)
  6. 解析报错   No such provider: BC
  7. JavaWeb实战项目之乐购商城V1.0(一)-------环境搭建
  8. web期末作业设计网页 HTML5+CSS大作业——明星个人主页(15页) 创作主页
  9. MySQL级联优缺点_【Mysql】外键级联与级联的劣势_MySQL
  10. 微信小程序界面及硬件实物图