PHP语音SDK接口开发经验及具体开发实现

一、查询账户余额balance()

参数名称

说明

备注

Sn

软件序列号

格式XXX-XXX-XXX-XXXXX

Pwd

密码

md5(sn+password) 32位大写 密文 +表示连接

函数返回值:String(余额)

接口地址:http://sdk3.leiyusoft.com:8060/webservice.asmx?op=balance

示例:序列号SDK-SSD-010-00001 密码 xxxxxx

参数输入:

SN= SDK-SSD-010-00001

PWD= 3B5D3C427365F40C1D27682D78BB31E0

示例返回结果: 余额79109条短信

XML格式:

具体函数PHP实现:

<?PHP 
//该demo的功能是查余额


$flag = 0; 
        //要post的数据 
$argv = array( 
         'sn'=>'SDK-SSD-010-xxxxx', //替换成您自己的序列号
		 'pwd'=>'xxxxxx',//替换成您自己的密码
		
		 ); 
//构造要post的字符串 
foreach ($argv as $key=>$value) { 
          if ($flag!=0) { 
                         $params .= "&"; 
                         $flag = 1; 
          } 
         $params.= $key."="; $params.= urlencode($value); 
         $flag = 1; 
          } 
         $length = strlen($params); 
                 //创建socket连接 
        $fp = fsockopen("sdk2.leiyusoft.com",8060,$errno,$errstr,10) or exit($errstr."--->".$errno); 
         //构造post请求的头 
         $header = "POST /webservice.asmx/GetBalance HTTP/1.1\r\n"; 
         $header .= "Host:sdk2.leiyusoft.com\r\n"; 
         $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
         $header .= "Content-Length: ".$length."\r\n"; 
         $header .= "Connection: Close\r\n\r\n"; 
         //添加post的字符串 
         $header .= $params."\r\n"; 
         //发送post的数据 
         fputs($fp,$header); 
         $inheader = 1; 
          while (!feof($fp)) { 
                         $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据 
                         if ($inheader && ($line == "\n" || $line == "\r\n")) { 
                                 $inheader = 0; 
                          } 
                          if ($inheader == 0) { 
                                // echo $line; 
                          } 
          } 
		  //<string xmlns="http://tempuri.org/">-5</string>
	       $line=str_replace("<string xmlns=\"http://tempuri.org/\">","",$line);
	       $line=str_replace("</string>","",$line);
		   $result=explode("-",$line);
		    if(count($result)>1)
			echo '发送失败返回值为:'.$line;
			else
			echo '余额为:'.$line;


?>

二、群发语音mdAudioSend

 

参数名称

说明

类型

是否必须   

备注

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.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对应的该特服号.

具体函数PHP实现:

<?PHP 

//该demo的功能是发语音
//我们的Demo,都是在gb2312环境下测试的。如果您的系统是UTF-8,肯定会乱码。
//请参考第17行和第29行进行处理。
 
  $file="1.wav"; 
$fp=fopen($file,"r")or die("Can't open file");  //打开文件
$PicBase1=base64_encode(fread($fp,filesize($file)));//base64编码 
 $file_content='1.wav,'.$PicBase1;


 //echo $file_content;
 //exit;
$flag = 0; 
        //要post的数据 
$argv = array( 
         'sn'=>'SDK-SSD-010-*****', //换成您自己的序列号
		 'pwd'=>strtoupper(md5('SDK-SSD-010-*****'.'xxxxxx')), //此处密码需要加密 加密方式为 md5(sn+password) 
		 'title'=>'test测试语音',
		 //'title'=>iconv( "UTF-8", "gb2312//IGNORE" ,"test语音测试"),
		 'mobile'=>'186****4700',//手机号 多个用英文的逗号隔开 post理论没有长度限制.推荐群发一次小于等于10000个手机号
		 'txt'=>'',  //语音文本 和语音文件content 选择其中一个进行传值 即可,不需要同时传值 也不可同时不传值
		 'content'=>$file_content,//语音内容//base64_encode();   
		 'srcnumber'=>'',//默认空 如果空返回系统生成的标识串 如果传值保证值唯一 成功则返回传入的值
		 'stime'=>''//定时时间 格式为2011-6-29 11:09:21
		 ); 

//构造要post的字符串 
foreach ($argv as $key=>$value) { 
          if ($flag!=0) { 
                         $params .= "&"; 
                         $flag = 1; 
          } 
         $params.= $key."="; $params.= urlencode($value); 
         $flag = 1; 
          } 
         $length = strlen($params); 
                 //创建socket连接 
         $fp = fsockopen("sdk3.leiyusoft.com",8060,$errno,$errstr,10) or exit($errstr."--->".$errno); 
         //构造post请求的头 
         $header = "POST /webservice.asmx/mdAudioSend HTTP/1.1\r\n"; 
         $header .= "Host:sdk3.leiyusoft.com\r\n"; 
         $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
         $header .= "Content-Length: ".$length."\r\n"; 
         $header .= "Connection: Close\r\n\r\n"; 
         //添加post的字符串 
         $header .= $params."\r\n"; 
         //发送post的数据 
         fputs($fp,$header); 
         $inheader = 1; 
          while (!feof($fp)) { 
                         $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据 
                         if ($inheader && ($line == "\n" || $line == "\r\n")) { 
                                 $inheader = 0; 
                          } 
                          if ($inheader == 0) { 
                                // echo $line; 
                          } 
          } 
		  //<string xmlns="http://tempuri.org/">-5</string>
	       $line=str_replace("<string xmlns=\"http://tempuri.org/\">","",$line);
	       $line=str_replace("</string>","",$line);
		   $result=explode("-",$line);
		    if(count($result)>1)
			echo '发送失败返回值为:'.$line;
			else
			echo '发送成功 返回值为:'.$line;  
?>


 

三、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语音接口文档   所有下载


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值