第三方API使用
一、百度AI-语音识别&图片搜索
准备工作
- 在浏览器输入http://ai.baidu.com/打开百度AI开发平台首页
2)点击右上角控制台,进入用户注册登录界面
3)进入管理中心
语音识别
https://cloud.baidu.com/doc/SPEECH/s/pk4o0bkx8
第一步:左侧菜单选择语音技术
第二步:语音识别主界面点击创建应用
第三步:创建应用填写应用信息
第四步:创建成功后进入应用列表查看
【注意:AppID 、API Key、 Secret Key在代码中要使用】
第五步:点击上图左侧菜单技术文档
短语音识别标准版-----------REST-API-JavaSDK---------快速入门
第六步:按照下图打开语音快速入门文档
第七步:阅读文档进行开发与调试
<!-------------------------添加依赖----------------------------->
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.15.3</version>
</dependency>
/**************************测试代码*******************************/
public class SpeechTest {
//设置APPID/AK/SK
public static final String APP_ID = "";//你的APP_ID
public static final String API_KEY = "";//你的API_KEY
public static final String SECRET_KEY = "";//你的SECRET_KEY
/*
功能描述:语音识别
*/
@Test
public void speechRecognition() throws JSONException {
// 初始化一个AipSpeech
AipSpeech client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);
// 可选:设置网络连接参数
client.setConnectionTimeoutInMillis(2000);
client.setSocketTimeoutInMillis(60000);
// 调用接口
JSONObject res = client.asr("D:\\public\\8k.pcm", "pcm", 8000, null);
System.out.println(res.toString(2));
}
}
运行截图:
- bug:
1)接口调用失败 “err_msg”: “request pv too much”
解决方法:需领取免费额度
语音合成
https://cloud.baidu.com/doc/SPEECH/s/Mk4nlz5am
一、点击语音技术页面右上角 管理控制台
二、在管理控制台进入语音技术主页
三、语音技术主页选择 概览—语音合成
四、领取语音合成免费次数
五、点击技术文档进入语音技术API文档
六、打开语音合成API文档
七、阅读文档进行开发与调试
bug:
bug1:
解决方法:引入java-sdk最新版
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.15.3</version>
</dependency>
八、代码
/* 功能描述:语音合成
*/
@Test
public void speechSynthesis()throws JSONException {
// 初始化一个AipSpeech
AipSpeech client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);
// 可选:设置网络连接参数
client.setConnectionTimeoutInMillis(2000);
client.setSocketTimeoutInMillis(60000);
// 可选:设置代理服务器地址, http和socket二选一,或者均不设置
//client.setHttpProxy("proxy_host", proxy_port); // 设置http代理
//client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理
// 可选:设置log4j日志输出格式,若不设置,则使用默认配置
// 也可以直接通过jvm启动参数设置此环境变量
//System.setProperty("aip.log4j.conf", "path/to/your/log4j.properties");
// 调用接口
TtsResponse res = client.synthesis("你好小明", "zh", 1, null);
byte[] data = res.getData();
JSONObject res1 = res.getResult();
if (data != null) {
try {
Util.writeBytesToFileSystem(data, "D:\\public\\cc.pcm");
} catch (IOException e) {
e.printStackTrace();
}
}
if (res1 != null) {
System.out.println(res1.toString(2));
}
}
图片搜索
(1)控制台主页左侧菜单选择图像搜索
(2)头像搜索主界面点击创建应用
(3)填写应用信息
(4)进入应用列表查看
(5)点击“应用名称”进入应用详情页面
(6)申请建库
点击 应用名称------ 建库
(7)建库成功后,导入图片
(8)进入技术文档
(9)阅读文档进行开发与测试
(10)代码测试
package com.api.speech;
import com.baidu.aip.imagesearch.AipImageSearch;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
/**
* @author 屈明明
* @packagename com.api.speech
* @create 2021-02-10 17:49
* 百度AI-图像搜索
*/
public class ImgSearchTest {
//设置APPID/AK/SK
public static final String APP_ID = "";//你的APP_ID
public static final String API_KEY = "";//你的API_KEY
public static final String SECRET_KEY = "";//你的SECRET_KEY
@Test
public void imgSearch() throws JSONException {
// 初始化一个AipImageSearch
AipImageSearch client = new AipImageSearch(APP_ID, API_KEY, SECRET_KEY);
// 可选:设置网络连接参数
client.setConnectionTimeoutInMillis(2000);
client.setSocketTimeoutInMillis(60000);
// 可选:设置代理服务器地址, http和socket二选一,或者均不设置
//client.setHttpProxy("proxy_host", proxy_port); // 设置http代理
//client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理
// 可选:设置log4j日志输出格式,若不设置,则使用默认配置
// 也可以直接通过jvm启动参数设置此环境变量
// System.setProperty("aip.log4j.conf", "path/to/your/log4j.properties");
// 调用接口
String path = "D:\\public\\7.jpg";//图片存储路径
JSONObject res = client.productSearch(path, new HashMap<String, String>());
System.out.println(res.toString(2));
}
}
代码虐我千百遍,我视代码如初恋......