第三方API使用

第三方API使用

一、百度AI-语音识别&图片搜索

准备工作

  1. 在浏览器输入http://ai.baidu.com/打开百度AI开发平台首页
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9VbLe3Lr-1614334876945)(C:\Users\qmm1998\AppData\Roaming\Typora\typora-user-images\image-20210210132709265.png)]
    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));

    }
}

运行截图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LykBp3eu-1614334876952)(C:\Users\qmm1998\AppData\Roaming\Typora\typora-user-images\image-20210210153233046.png)]

  • 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));

    }
}




代码虐我千百遍,我视代码如初恋......

猜你喜欢

转载自blog.csdn.net/weixin_44490884/article/details/114145529