资源简介
一个Java语音聊天工具,可实现如同QQ或其它语音聊天一样的功能
代码片段和文件信息
//音频捕获部分,
//Capture.java
import java.io.*;
import javax.sound.sampled.*;
import java.net.*;
/**
* title: VoiceChat
* Description: 音频捕捉(录音程序)
* Copyright: Copyright (c) 2001
* Company:
* @author
* @version 1.0
*/
class Capture implements Runnable {
TargetDataLine line;
Thread thread;
Socket s;
BufferedOutputStream captrueOutputStream;
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() {
try {
captrueOutputStream=new BufferedOutputStream(s.getOutputStream());//建立输出流 此处可以加套压缩流用来压缩数据
}
catch (IOException ex) {
return;
}
AudioFormat format =new AudioFormat(8000162truetrue);//AudioFormat(float sampleRate int sampleSizeInBits int channels boolean signed boolean bigEndian)
DataLine.Info info = new DataLine.Info(TargetDataLine.classformat);
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 0128);//取数据(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();
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2364 2007-08-29 22:11 java 语音聊天\Capture.java
文件 2623 2007-08-22 00:37 java 语音聊天\Client.java
文件 2252 2007-08-22 00:36 java 语音聊天\Playback.java
文件 2697 2007-08-22 00:37 java 语音聊天\Server.java
目录 0 2011-11-10 13:11 java 语音聊天
----------- --------- ---------- ----- ----
9936 5
相关资源
- JAVA netty 获取串口数据并且下发数据
- java课程设计-拿火柴游戏
- 基于web的员工工资管理系统毕业论文
- 用java编写的科学计算器
- Java编程思想第4版源代码+习题答案
- 名片管理系统(jsp+Struts+javabean)
- java版通讯录管理系统
- java求圆周率PI的值 蒙特卡洛方法
- cache模拟器
- javaxmail jar包
- 局域网坦克大战源码Java版
- java加数据库的网吧管理系统
- javaweb英语论文原文+翻译
- 基于java的视频中车辆的标记
- rabbitmq:基于java、基于springboot、基于
- 微信公众平台的开发java——视频教程
- 根据关键字查找文件,可查找(*.ja
- java局域网聊天+文件传输系统
- java实现文字转语音文件和朗读
- 经典DBN代码详解JAVA版
- JavaMail帐号激活与忘记密码
- java屏幕录像(包含鼠标轨迹)生成
- java Library.java
- centos64位编译luajava1.1
- java从入门到精通全套视频教程
- java彩票模拟投注系统.zip
- java后台微信支付工具类
- 基于Android平台下的五子棋开发
- java__QQ聊天(聊天窗口设置不同颜色字
- java实现复制、粘贴、剪切、删除文件
评论
共有 条评论