capture.java

来自「java语音聊天系统 分为服务器端 客户端 连接之后 既可以相互通信 包括语音 」· Java 代码 · 共 50 行

JAVA
50
字号
package PC;
import java.io.*;     
import javax.sound.sampled.*;     
import java.net.*;     
class Capture implements Runnable{          
    Thread thread;     
    Socket s;     
    OutputStream captrueOutputStream; 
    private AudioCapture PhoneMIC=new AudioCapture(AMAudioFormat.FORMAT_CODE_GSM);
    Capture(Socket s){//构造器取得socket以获得网络输出流     
        this.s=s;     
    }     
    public void start()   {      
        thread=new Thread(this);     
        thread.setName("Capture");     
        thread.start();     
    }        
    public void stop(){     
        thread=null;     
    }     
    public void run(){
    	InputStream myIStream=null;
        try{ 
        	PhoneMIC.open();
        	myIStream=PhoneMIC.getAudioInputStream();
        	PhoneMIC.start();          
        	captrueOutputStream=s.getOutputStream();
            byte[] data=new byte[1024];    
            int numBytesRead=0;              
            while(thread!=null){     
                numBytesRead=myIStream.read(data,0,1024); 
                try{     
                    captrueOutputStream.write(data,0,numBytesRead);//写入网络流     
                }catch(Exception ex){     
                break;     
                }     
             }      
        }catch(Exception ex){     
        	ex.printStackTrace();     
       }      
       try{     
           captrueOutputStream.flush();     
           captrueOutputStream.close();     
       }catch(IOException ex){     
           ex.printStackTrace();     
       }     
}     
}   

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?