利用百度语音识别技术实现文字转语音的应用(Java版附源码)
@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版附源码)相关推荐
- 【Java 代码实例 11】利用百度语音识别技术实现文字转语音的应用
- scrapy爬虫之爬取百度手机助手app信息并保存至mongodb数据库(附源码)
声明: 本文内容仅供学习python爬虫的同学用作学习参考!!! 如有错误,请评论指出,非常感谢!!! 1.使用环境 python 3.8 scrapy 2.5 mongodb pycharm ...
- 百度离线地图示例之十三:动态运行轨迹实现(附源码)
前言介绍: 主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本(包含常用的55个示例),文末 ...
- C# Winform调用百度接口实现身份证文字识别教程完整版!!!(源码)
C# Winform调用百度接口实现身份证文字识别教程源码完整版 这是一篇完整的身份证文字识别系统,源码已经附上,按照我的步骤,可以实现人脸识别登录呦!!!当然,前提是你有耐心看完! 目录 C# Wi ...
- 【Android App】实战项目之实现你问我答的智能语音机器人(超详细 附源码和演示视频)
需要全部代码请点赞关注收藏后评论区留言私信~~~ 一.需求描述 想必大家都见过商场里的智能语音机器人,你对它提问时它可以自动回答你的问题,接下来我们也实现这样一个机器人,它依靠语音技术完成问询服务 基 ...
- 利用CNN对股票“图片”进行涨跌分类——一次尝试【附源码】
首先解释一下标题: CNN:卷积神经网络(Convolutional Neural Network), 在图像处理方面有出色表现,不是被川普怒怼的那个新闻网站: 股票涨跌:大家都懂的,呵呵: 股票图片 ...
- 疯狂python讲义视频 百度云-疯狂Python讲义 PDF高清版附源码
内容简介 本书全面,深入地介绍了Python编程的相关内容,大致可分为四个部分.*系统部分介绍了Python的基本语法结构,函数编程,类和对象,模块和包,异常处理等: 第二部分主要介绍Python常用 ...
- 用flask快速打造一个技术导航网站,并自动采集导航!附源码
洞悉安全,风洞网,认准官方网站! 版权声明:本文由风洞网原创文章,未经博主允许不得转载! 首发声明 本文首发于风洞网,跳到原文地址. 1. 静态部署 到 https://github.com/WebS ...
- matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...
一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...
最新文章
- python文本替换 数据库_Python pptx(Power Point)查找和替换文本(ctrl+H)
- Qt Remote Object(QtRO)实现进程间通信
- Excel多因素不重复方差分析
- 洛谷 - P3980 [NOI2008]志愿者招募(最小费用最大流+思维建边)
- java 示例_功能Java示例 第5部分–将I / O移到外部
- 【渝粤教育】电大中专会计电算化_1作业 题库
- 怎样获取php页面get的值,PHP循环获取GET和POST值的代码
- java的cxf的maven_Maven+Spirng+Mybatis+CXF搭建WebService服务
- 2018.10.01 NOIP模拟 卡牌游戏(贪心)
- android中prop配置参数名,21.Android系统属性build.prop文件(笔记)
- Graphics进行局部旋转的办法
- jpegNPP编译为so
- SLAM算法 - 3D激光匹配算法
- 宏定义的大括号以及斜杠
- 工行电子银行收费标准
- 优动漫PAINT入门宝典(图层篇)——矢量图层
- 基于数字电路典型分频电路设计
- 前大灯是近光灯还是远光灯_大灯是近光灯还是远光灯
- 余世维 - 老板首先要诚实
- 每日一题——孪生素数对(教你如何高效判断素数,判断素数的全部方法)
热门文章
- 拉卡拉智能POS新功能预览
- clamav Java_杀毒软件包clamav部署-CentOS6.5
- matlab弹道仿真,战役战术导弹弹道仿真在simulink下如何实现
- 软件 2.0 时代的程序分析
- Visual Studio 全套配色方案 (国内下载,4970个方案,更新于2019.10.06)
- 解析报错 No such provider: BC
- JavaWeb实战项目之乐购商城V1.0(一)-------环境搭建
- web期末作业设计网页 HTML5+CSS大作业——明星个人主页(15页) 创作主页
- MySQL级联优缺点_【Mysql】外键级联与级联的劣势_MySQL
- 微信小程序界面及硬件实物图