<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[用java实现音频捕捉]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Tue, 03 Oct 2006 13:46:02 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	<p align="center">用java实现音频捕捉java /zongfeng 发表于2005-03-06 13:43<br/>利用线程和基本库的函数就可以实现，下一篇我会贴播放代码 <br/>package chat;<br/><br/>import java.io.*;<br/>import javax.sound.sampled.*;<br/>import java.net.*;<br/><br/><br/><br/>class Capture implements Runnable&#123;<br/><br/>TargetDataLine line;<br/>Thread thread;<br/>Socket s;<br/>BufferedOutputStream captrueOutputStream;<br/><br/>Capture(Socket s)&#123; //构造器取得socket以获得网络输出流<br/>this.s=s;<br/>&#125;<br/><br/>public void start()&#123;<br/><br/>thread=new Thread(this);<br/>thread.setName("Capture");<br/>thread.start();<br/>&#125;<br/><br/>public void stop()&#123;<br/>thread=null;<br/>&#125;<br/><br/>public void run()&#123;<br/><br/>try&#123;<br/>captrueOutputStream = new BufferedOutputStream(s.getOutputStream()); //建立输出流此处可以加套压缩流用来压缩数据<br/>&#125;<br/>catch(IOException ex)&#123;<br/>return;<br/>&#125;<br/><br/>AudioFormat format=new AudioFormat(8000,16,2,true,true); //AudioFormat(floatsampleRate,intsampleSizeInBits,intchannels,booleansigned, booleanbigEndian）<br/>DataLine.Info info=new DataLine.Info(TargetDataLine.class,format);<br/><br/>try&#123;<br/>line=(TargetDataLine)AudioSystem.getLine(info);<br/>line.open(format,line.getBufferSize());<br/>&#125;catch(Exception ex)&#123;<br/>return;<br/>&#125;<br/><br/>byte[]data=new byte[1024]; //此处的1024可以情况进行调整，应跟下面的1024应保持一致<br/>int numBytesRead=0;<br/>line.start();<br/><br/>while(thread!=null)&#123;<br/>numBytesRead=line.read(data,0,1024); //取数据（1024）的大小直接关系到传输的速度，一般越小越快，<br/>try&#123;<br/>captrueOutputStream.write(data,0,numBytesRead); //写入网络流<br/>&#125;<br/>catch(Exception ex)&#123;<br/>break;<br/>&#125;<br/>&#125;<br/><br/>line.stop();<br/>line.close();<br/>line=null;<br/><br/>try&#123;<br/>captrueOutputStream.flush();<br/>captrueOutputStream.close();<br/>&#125;catch(IOException ex)&#123;<br/>ex.printStackTrace();<br/>&#125;<br/>&#125;<br/>&#125; </p>
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 用java实现音频捕捉]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>