本章节为您介绍了调用阿里云语音服务SDK的具体步骤,您可以参考本文档,调用其他API实现对应功能。

前提条件

在使用语音服务SDK之前,您需要:

  • 开通语音服务SDK并购买语音号码,具体操作请参见购买号码
  • 获取AccessKey信息,具体操作请参见获取AccessKey
  • 完成安装SDK,具体操作请参见Java SDK
说明 本章节以调用SingleCallByTts实现向指定号码发送语音验证码为您示例。

操作步骤

  1. 创建profile和client实例,并传入AccessKey信息。
    DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
    IAcsClient client = new DefaultAcsClient(profile);
    说明 RegionId默认选择cn-hangzhou。
  2. 创建request实例,并设置请求参数。
    CommonRequest request = new CommonRequest();
    //请求方法分为POST和GET,建议您选择POST方式
    request.setMethod(MethodType.POST);  
    //Domain参数的默认值为dyvmsapi.aliyuncs.com     
    request.setDomain("dyvmsapi.aliyuncs.com");
    //当前语音服务SDK默认版本号为2017-05-25        
    request.setVersion("2017-05-25");
    //被叫显示号码信息
    request.putQueryParameter("CalledShowNumber", "1862xxxx");
    //被叫号码      
    request.putQueryParameter("CalledNumber", "02131xxxx");
    //文本转语音(TTS)模板ID
    request.putQueryParameter("TtsCode", "TTS_177553");
    ...        
  3. 创建response实例,并传入请求参数。
    CommonResponse response = client.getCommonResponse(request);
  4. 打印输出信息。
    System.out.println(JSON.toJSONString(response));

操作样例

import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
/*
pom.xml
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>4.0.3</version>
</dependency>
*/
public class SingleCallByTts {
    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);
        CommonRequest request = new CommonRequest();
        request.setMethod(MethodType.POST);
        request.setDomain("dyvmsapi.aliyuncs.com");
        request.setVersion("2017-05-25");
        request.setAction("SingleCallByTts");
        request.putQueryParameter("RegionId", "cn-hangzhou");
        request.putQueryParameter("CalledShowNumber", "1862xxxx");
        request.putQueryParameter("CalledNumber", "0213xxxx");
        request.putQueryParameter("TtsCode", "TTS_177553");
        request.putQueryParameter("PlayTimes", "3");
        request.putQueryParameter("Volume", "60");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}
返回示例如下所示:
  • 正常返回示例:
    {
      "RequestId": "AE3FE0F9-8301-4BD3-9996-174AC6981ABE",
      "Message": "OK",
      "CallId": "123856432324^11064938****",
      "Code": "OK"
    }
  • 异常返回示例:
    {
      "RequestId": "2105E752-A349-4A27-B83F-B6F5FC3D5734",
      "Message": "文本转语音模板不合法",
      "Code": "isv.TEMPLATE_ILLEGAL"
    }