playback.java
来自「java语音聊天系统 分为服务器端 客户端 连接之后 既可以相互通信 包括语音 」· Java 代码 · 共 55 行
JAVA
55 行
package PC;
import java.io.*;
import javax.sound.sampled.*;
import java.net.*;
class Playback implements Runnable{
private AudioPlayStream PhoneSPK=null;
private AudioFormat format=AMAudioFormat.getLineAudioFormat(AMAudioFormat.FORMAT_CODE_GSM);
private Thread thread;
private Socket s;
public Playback(Socket s){//构造器 取得socket以获得网络输入流
this.s=s;
}
public void start(){
thread=new Thread(this);
thread.setName("Playback");
thread.start();
}
public void stop(){
thread=null;
}
public void run(){
PhoneSPK=new AudioPlayStream(format);
InputStream playbackInputStream;
try{
PhoneSPK.open();
playbackInputStream=s.getInputStream();
boolean complete=false;
byte[] data=new byte[64];//此处数组的大小跟实时性关系不大,可根据情况进行调整
int numBytesRead=0;
PhoneSPK.start();
while(thread!=null)
{
numBytesRead=playbackInputStream.read(data);
if(numBytesRead==-1)
{
complete=true;
break;
}
PhoneSPK.write(data,0,numBytesRead);
}
}
catch(Exception ex)
{
return;
}
if(thread!=null)
{
PhoneSPK.drain();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?