码迷,mamicode.com
首页 > 编程语言 > 详细

java 语音采集组件

时间:2018-07-16 12:31:35      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:output   bool   oat   getline   thread   read   数据   class   trace   

class Capture implements Runnable{

TargetDateLine line;//可以从中读取音频数据的某种类型的 DataLine

Thread thread;

Socket socket;

BufferedOutputStream captrueOutputStream;

Captrue(Socket socket){//构造函数,取得socket

?? this.socket=socket;

}

public void start(){//启动线程

?? thread=new Thread(this);

?? thread.setName(“Capture”);

?? thread.start();

}

public void stop(){//停止线程

?? thread=null;

}

public void run(){

?? try{

????? captrueOutputStream=new BufferedOutputStream(s.getOutputStream())//建立输出流

}catch(IOException e){

?? return;

}

AudioFormat format =new AudioFormat(8000,16,2,true,true);//AudioFormat(float sampleRate, int sampleSizeInBits, int channels, boolean signed, boolean bigEndian)
??????? DataLine.Info info = new DataLine.Info(TargetDataLine.class,format);

??????? try {
??????????? line = (TargetDataLine) AudioSystem.getLine(info);
??????????? line.open(format, line.getBufferSize());
??????? } catch (Exception ex) {
??????????? return;
??????? }

?? byte[] data = new byte[1024];//此处的1024可以情况进行调整,应跟下面的1024应保持一致
?????????? int numBytesRead=0;
?????????? line.start();

?????????? while (thread != null) {
?????????????? numBytesRead = line.read(data, 0,128);//取数据(1024)的大小直接关系到传输的速度,一般越小越快,
?????????????? try {
???????????????? captrueOutputStream.write(data, 0, numBytesRead);//写入网络流
?????????????? }
?????????????? catch (Exception ex) {
?????????????????? break;
?????????????? }
?????????? }

?????????? line.stop();
?????????? line.close();
?????????? line = null;

?????????? try {
?????????????? captrueOutputStream.flush();
?????????????? captrueOutputStream.close();
?????????? } catch (IOException ex) {
?????????????? ex.printStackTrace();
?????????? }
?????? }
????
}

java 语音采集组件

标签:output   bool   oat   getline   thread   read   数据   class   trace   

原文地址:http://blog.51cto.com/10972685/2143993

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!