天天看點

Java語音SDK接口開發經驗及具體開發實作

涓???璇??沖????绫?udio锛?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 瀹??舵?堕?達?濡???涓???瑕?缃?涓虹┖??	 * 杩? ?? ?鹼?杩???涓?涓???涓???rid
	 */
	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 ?? ?垮害??澶?0瀛?绗?
Mobile ???哄?? String ?? ???哄?風??澶?涓?浠ヨ?辨?????烽??寮?
txt ??????瀹? String ?? ??????????瀹癸???澶?00涓?瀛?绗?
Content Wav base64涓? String ?? ??浠跺??瀹?base64缂???(瀹??存??浠跺??(??????缂?),??浠?ase64缂???涓?;??浠跺????澶?0涓?瀛?绗???????缂?锛?缂?????浠跺ぇ灏???澶?00k.濡??ㄥソ.wav,base64缂???涓?/td>
Srcnumber 婧??風??(?風???劇ず) String ?? 婧??風??(?風???劇ず)
stime 瀹??舵?堕?? String ?? ?煎?涓?yyyy-mm-dd HH:MM:SS锛?渚?濡?锛?2010-12-29 16:27:03锛???瀹??剁疆绌猴?

杩???rrid锛?201012300908160937? (绀轟?)

杈??虹???:

XML?煎?:

Java語音SDK接口開發經驗及具體開發實作

1.娉ㄦ??浜?椤癸?

  1. 锛?1锛?txt ??content 涓??藉???朵負绌?骞朵?涓??藉???朵?涓虹┖.
  2. 锛?2锛?璇??沖????璇鋒?(????????:

txt涓?涓虹┖,????obile涓虹┖.璋??ㄦ????杩???濡?201012300908160937?d???杩?涓??㈢???闆????浠ュ??拌?ユ??????????璇??蟲??浠? http://sdk3.leiyusoft.com:8060/yuyin/syn/201012300908160937_47512.wav

?闆???煎???:http:// sdk3.leiyusoft.com:8060/yuyin/syn/rrid_?規????wav

姝ゅ???rrid 涓烘?ュ?f??浜ゆ??????杩??????規???鋒??璇ュ?????sn)瀵瑰???涓?涓????風??,??浠ラ??杩?姝ゆ?ュ?g??GetCode ?規?杩?琛??峰??.GetCode??杩????煎艦寮?濡? 047512 姝ゅ?0琛ㄧず???? 47512 琛ㄧず璇?n瀵瑰???璇ョ?規????

2.?蜂??芥??ava瀹??幫?

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,"???哄??,???哄??","璇鋒坊??璇??沖??瀹?,"","", "");
		if(resultFirst.startsWith("-"))
		{
			System.out.println(""+resultFirst+"");	
		}else {
			System.out.println("http://sdk3.leiyusoft.com:8060/yuyin/syn/"+resultFirst+"");
			System.out.println("");
		}
	}
	
}

           

?

涓???webservice杩???????瀵圭?ц〃锛?

?

杩????? 杩????艱?存??
-2 甯???瀵???涓?姝g‘
-4 浣?棰?涓?瓒?
-5 ?版???煎???璇?
-6 ???版??璇?
-8 娴????у?堕??璇?
-10 ??瀹歸?垮害??
-11 ?版??搴???璇?
-12 搴????風?舵????璇?
-13 娌℃????浜ゅ??煎??瀹?
-14 ???″?ㄥ????浠跺け璐?
-15 ??浠跺??瀹?ase64缂?????璇?

????????璇存??锛?

1.璇???DK?闆??锛?

甯哥?ㄦ?ュ?e?闆??锛?http://sdk3.leiyusoft.com:8060/webservice.asmx

2.?跺??璇存??锛?

锛?1锛?寮???浣跨?ㄧ??甯??峰?椤諱負SDK寮?澶達?濡?SDK-SSD-010-00001锛?甯??風??涓?娆¢??瑕?璋???egister?規?娉ㄥ??涓?娆?浠???娉ㄥ??涓?娆″?沖??,淇℃??蹇?椤葷??瀹?

锛?2锛?UnRegister涓?Register????浣跨??? 杩?缁?浣跨?ㄤ?寰?瓒?杩?10娆?澶?

3. ????澹版??锛?

锛?1锛?绂?姝㈢?稿??????瀹瑰?涓????哄?瘋?缁?涓??′??℃??浜? ????绂??ㄥ??鳳??辨?ゅ甫?ユ??澶辯?卞?㈡?瘋??琛?璐?璐?

锛?2锛?璇峰?㈡?鋒??渚?澶?缃????″??P浠ヤ究浜?缁?瀹?IP????锛???楂?璐??風??瀹??ㄦ?э?

锛?3锛??ㄧ?搴?????濂芥????缃???浠?绋?搴????ㄥ?ゆ??褰???涓??ュ?h??ヨ??舵??浜ら??搴????㈡??绋?搴???浠ヨ???ㄥ???㈠?跺?????ュ?d互涓????ㄨ??????涓????″??浠??ュ?e?闆??涓?????宸??規??ㄩ?ㄧ?稿??;

?闆??1锛?http://sdk3.leiyusoft.com:8060/webservice.asmx

杩?浜??闆???芥????????webservice?闆??锛?C#锛?Java瀹㈡?峰??浠ユ???ц??宸辯???????瑰??昏В??String???

????

?闆??1锛?http://sdk3.leiyusoft.com:8060/webservice.asmx?wsdl

浜???绀轟?Demo婧?浠g??涓?杞斤?

DEMO?????SDK璇??蟲?ュ?f??妗B?? ????涓?杞?

?