一、语音发送类Audio(Audio.java)

package Audiosend;import java.io.*;
import java.net.*;
import java.security.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Audio {//服务器private String serverURl = "http://sdk3.leiyusoft.com:8060/webservice.asmx";private String sn = "";private String password = "";private String pwd = "";public Audio(String sn,String pass) throws UnsupportedEncodingException{this.sn = sn;this.password = pass;this.pwd = getMD5(sn + pass);}/** 方法名称:getMD5 * 功    能:字符串MD5加密 * 参    数:待转换字符串 * 返 回 值:加密之后字符串*/public String getMD5(String sourceStr) throws UnsupportedEncodingException {String resultStr = "";try {byte[] temp = sourceStr.getBytes();MessageDigest md5 = MessageDigest.getInstance("MD5");md5.update(temp);// resultStr = new String(md5.digest());byte[] b = md5.digest();for (int i = 0; i < b.length; i++) {char[] digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8','9', 'A', 'B', 'C', 'D', 'E', 'F' };char[] ob = new char[2];ob[0] = digit[(b[i] >>> 4) & 0X0F];ob[1] = digit[b[i] & 0X0F];resultStr += new String(ob);}return resultStr;} catch (NoSuchAlgorithmException e) {e.printStackTrace();return null;}}/** 方法名称:mdAudioSend* 功    能:提交彩信基本信息* 参    数:title 传真标题,mobile 手机号,txt 文本内容, content 传真base64内容,schTime 定时时间,如果不需要置为空间* 返 回 值:返回一个唯一值rrid*/public String mdAudioSend (String title,String mobile,String txt,String content,String srcnumber,String stime){String result = "";String soapAction = "http://tempuri.org/mdAudioSend";String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";xml += "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">";xml += "<soap12:Body>";xml += "<mdAudioSend xmlns=\"http://tempuri.org/\">";xml += "<sn>" + sn + "</sn>";xml += "<pwd>" + pwd + "</pwd>";xml += "<title>" + title + "</title>";xml += "<mobile>" + mobile + "</mobile>";xml += "<txt>" + txt + "</txt>";xml += "<content>" + content + "</content>";xml += "<srcnumber>" + srcnumber + "</srcnumber>";xml += "<stime>" + stime + "</stime>";xml += "</mdAudioSend>";xml += "</soap12:Body>";xml += "</soap12:Envelope>";URL url;try {url = new URL(serverURl);URLConnection connection = url.openConnection();HttpURLConnection httpconn = (HttpURLConnection) connection;ByteArrayOutputStream bout = new ByteArrayOutputStream();bout.write(xml.getBytes());byte[] b = bout.toByteArray();httpconn.setRequestProperty("Content-Length", String.valueOf(b.length));httpconn.setRequestProperty("Content-Type","text/xml; charset=gb2312");httpconn.setRequestProperty("SOAPAction", soapAction);httpconn.setRequestMethod("POST");httpconn.setDoInput(true);httpconn.setDoOutput(true);OutputStream out = httpconn.getOutputStream();out.write(b);out.close();InputStreamReader isr = new InputStreamReader(httpconn.getInputStream());BufferedReader in = new BufferedReader(isr);String inputLine;while (null != (inputLine = in.readLine())) {Pattern pattern = Pattern.compile("<mdAudioSendResult>(.*)</mdAudioSendResult>");Matcher matcher = pattern.matcher(inputLine);while (matcher.find()) {result = matcher.group(1);}}return result;} catch (Exception e) {e.printStackTrace();return "";}}
}

二、Java调用实现

参数名称

说明

类型

是否必须

备注

Sn

软件序列号

String

格式XXX-XXX-XXX-XXXXX

Pwd

密码

String

md5(sn+password) 32位大写密文

title
主题
String

长度最大40字符

Mobile

手机号

String

手机号码多个以英文逗号隔开

txt

文本内容

String

普通文本内容,最大300个字符

Content

Wav base64串

String

文件内容,base64编码(完整文件名(包括后缀),文件base64编码串);文件名最大20个字符包括后缀,编码文件大小最大500k.如您好.wav,base64编码串

Srcnumber

源号码(号码显示)

String

源号码(号码显示)

stime

定时时间

String

格式为 yyyy-mm-dd HH:MM:SS,例如:2010-12-29 16:27:03(非定时置空)

返回rrid:201012300908160937  (示例)

输出结果:

XML格式:

1.注意事项:

  1. (1)txt 和content 不能同时为空 并且不能同时不为空.
  2. (2)语音合成请求(附加功能):

txt不为空,同时mobile为空.调用成功返回如201012300908160937那么通过下面的地址可以得到该文本合成的语音文件: http://sdk3.leiyusoft.com:8060/yuyin/syn/201012300908160937_47512.wav

地址格式是:http:// sdk3.leiyusoft.com:8060/yuyin/syn/rrid_特服号.wav

此处的rrid 为接口提交成功的返回值.特服号是该序列号(sn)对应的一个短号码,可以通过此接口的GetCode 方法进行获取.GetCode的返回值形式如 047512 此处0表示成功 47512 表示该sn对应的该特服号.

2.具体函数Java实现:

package Audiosend;import java.io.*;
import java.net.URLEncoder;import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
public class AudioClient {public static String sn = "SDK-SSD-010-XXXXX";public static String password = "XXXXXXX";public static String title ="标题";public static String mobile = "13817885229";public static void main(String[] args) throws UnsupportedEncodingException {Audio Client = new Audio(sn,password);try{String content="",txt="";String flag="txt";if (flag.equals("txt")){content="";txt="文本部分测试";}else{//String pathaudio = "e:\\test.wav";//File fileaudio = new File(pathaudio);//InputStream fileInputStreamaudio = new FileInputStream(fileaudio);//byte[] tempbyteaudio = new byte[fileInputStreamaudio.available()];//fileInputStreamaudio.read(tempbyteaudio);//String faxbase64String = Base64.encode(tempbyteaudio);//content = "内容部分测试";//txt="文本部分测试";}String schTime="",srcnumber="";String resultFirst="";if(resultFirst.startsWith("-")){System.out.println(""+resultFirst+"");    }else {System.out.println(""+ resultFirst);}}catch (Exception e) {// TODO: handle exception} getwav();}public static void getwav() throws UnsupportedEncodingException{Audio Client = new Audio(sn,password);System.out.println("");String resultFirst="";resultFirst = Client.mdAudioSend(title,"手机号1,手机号2","请添加语音内容","","", "");if(resultFirst.startsWith("-")){System.out.println(""+resultFirst+"");    }else {System.out.println("http://sdk3.leiyusoft.com:8060/yuyin/syn/"+resultFirst+"");System.out.println("");}}}

三、webservice返回集合对照表:

返回值

返回值说明

-2

帐号/密码不正确

-4

余额不足

-5

数据格式错误

-6

参数有误

-8

流量控制错误

-10

内容长度长

-11

数据库错误

-12

序列号状态错误

-13

没有提交增值内容

-14

服务器写文件失败

-15

文件内容base64编码错误

四、附加说明:

1.语音SDK地址:

常用接口地址:http://sdk3.leiyusoft.com:8060/webservice.asmx

2.其它说明:

(1)开发使用的帐号必须为SDK开头,如SDK-SSD-010-00001,帐号第一次需要调用Register方法注册一次.仅需注册一次即可,信息必须真实

(2)UnRegister与Register配合使用, 连续使用不得超过10次/天;

3. 郑重声明:

(1)禁止相同的内容多个手机号连续一条一条提交. 否则禁用帐号,由此带来损失由客户自行负责.

(2)请客户提供外网服务器IP以便于绑定IP发送,提高账号的安全性!

(3)在程序里最好有配置文件,程序自动判断当某个接口连接超时提交速度变慢时.程序可以自动切换其它的接口以下是推荐的几个服务器,仅接口地址不同而已.方法全部相同;

地址1:http://sdk3.leiyusoft.com:8060/webservice.asmx

这些地址都是标准的webservice地址,C#,Java客户可以按照自己熟悉的方式去解析String

或者

地址1:http://sdk3.leiyusoft.com:8060/webservice.asmx?wsdl

五、示例Demo源代码下载:

DEMO     SDK语音接口文档   所有下载

Java语音SDK接口开发经验及具体开发实现相关推荐

  1. Java短信接口开发经验及具体开发实现

    Java.android使用的短信SDK是多线程: http://sdk.entinfo.cn:8061/webservice.asmx 其他编程语言使用的是下面接口,希望注意. http://sdk ...

  2. Java彩信接口开发经验及具体开发实现

    一.彩信发送类MdMmsSend(MdMmsSend.java) package mmsdemo; import java.io.*; import java.net.*; import java.s ...

  3. C#彩信接口开发经验及具体开发实现

    一.配置文件app.config <?xml version="1.0" encoding="utf-8" ?> <configuration ...

  4. PHP彩信接口开发经验及具体开发实现

    一.查询账户余额balance() 参数名称 说明 备注 Sn 软件序列号 格式XXX-XXX-XXX-XXXXX Pwd 密码 md5(sn+password) 32位大写 密文 +表示连接 函数返 ...

  5. VC、C++彩信接口开发经验及具体开发实现

    一.彩信语音SDK初始化CWebInterface CWebInterface::CWebInterface(CString &strSN,CString &strPwd) {m_pE ...

  6. ASP彩信接口开发经验及具体开发实现

    一.头部配置调用 <!--#include file="md5.asp"--> <% url="http://sdk3.entinfo.cn:8060/ ...

  7. 语音验证java代码_Java代码示例_Java语音验证接口 | 微米-中国领先的短信彩信接口平台服务商...

    Java语音验证接口代码示例 请求 import java.util.HashMap; import java.util.Map; public class IvrDemo { /** * 语音验证接 ...

  8. java语音验证码_Java代码示例_Java语音验证接口 | 微米-中国领先的短信彩信接口平台服务商...

    Java语音验证接口代码示例 请求 import java.util.HashMap; import java.util.Map; public class IvrDemo { /** * 语音验证接 ...

  9. 减少使用非 SDK 接口,提升系统稳定性

    我们一直寻求改善 Android 用户以及开发者体验的方法,尽力提供稳定的体验.秉持这种精神,我们限制了 app 使用非 SDK 接口,因为此类作法往往存在用户遇上系统崩溃以及开发者需要紧急发布修复的 ...

最新文章

  1. NTP时间同步服务器搭建
  2. 循环遍历和迭代器遍历如何选择
  3. drf-频率组件 权限组件
  4. 【Codeforces Round #507 (Div. 2, based on Olympiad of Metropolises) A】Palindrome Dance
  5. leetcode 在排序数组中查找元素的第一个和最后一个位置
  6. B. The Cake Is a Lie
  7. 质量超高的UI素材站!推荐UI\UX设计师
  8. SQL SERVER 备份数据库到指定路径语句
  9. Struts2之OGNL类型转换
  10. vb6 英文和中文长度不同_PPT里中文排版就是没英文好看?你怕是假酒喝多了…...
  11. Excel VBA员工培训从哪里开始
  12. 半导体物理学学习资源
  13. mysql 向上取整_mysql的取整函数
  14. java coherence_coherence配置说明
  15. DZS-115/DC110V中间继电器
  16. 《STL源码剖析》RB-tree中increment 和 decrement 的作用
  17. 基于注解和EasyExcel指定单元格下拉选内容
  18. 数学脱式计算在线计算机,三年级数学脱式计算.doc
  19. Firefox火狐Flash插件卡死问题完美解决方法
  20. 新版正方教务网模拟登录python实现

热门文章

  1. 用计算机弹有点甜乐谱,《汪苏泷 - 有点甜,钢琴谱》汪苏泷(五线谱 钢琴曲 指法)-弹吧|蛐蛐钢琴网...
  2. 【Java】什么是面向对象
  3. PaaS市场迎风口,JEPaaS助你一臂之力
  4. 视频号主页,实现一键添加个人微信功能,留客更方便,真香
  5. 团队成长的一些方式方法
  6. html css基础笔记,学习html/css基础的重点笔记
  7. 电容的原理与应用(补充中)
  8. python井字棋代码_python井字棋算法及代码
  9. erdas空间建模_ERDAS批处理的一个简单的空间模型建立
  10. 给iOS开发者的Sketch入门教程