java语音聊天室原形的实现
来源:互联网 发布:淘宝五星好评范文100字 编辑:程序博客网 时间:2024/05/08 16:45
原本以为从 麦克风 上获得音频输入很复杂,原来javaSound已经封装的很简单了。
可以使用AudioCapture来完成。
聊天室音频的回放一般用流来完成:AudioPlayStream 类负责。
聊天室比较复杂的地方还是关于音频流和多线程的结合使用。
1 需要为每个聊天的人建立一个Session,就是一个客户端一个连接。
2 需要建立一个和Session对应的线程来发送音频流。
3 建立一个接收音频流的线程,收到后,播放。
技术难点:
1、看下面的代码:
while ((!Thread.currentThread().interrupted())) {
try {
nBR = pbIS.read(data);
if (nBR == -1) {
c = true;
break;
}
pbL.write(data, 0, nBRead);
} catch (IOException e) {
System.exit(1);
}
}
上面就是在: while ((!Thread.currentThread().interrupted()))
这一句,到底是在什么情况下使用呢?
这里的System.exit(1) 是不是退出当前的线程?
2、
while ((!Thread.currentThread().interrupted())) {
b = mIS.read(cV, 0, bS);
sS.write(cV, 0, b);
}
采用这样的方式来进行语音的输入,如果线程断了就打印出错信息。
http://www-106.ibm.com/developerworks/websphere/zones/voice/
到现在为止已经可以实现分布聊天了,采用GSM语音压缩,不过测试的时候发现即使客户端和服务器在本地也有0.5分钟的延迟。
现在还没有缓冲处理,就是多人聊天的时候,如果说话方望速快,接受方速度慢,就可能会有问题。20040710 tcf
SourceForge.net7月最佳推荐项目:Audacity
基于TCP的局域网多用户通信、文件传送程序详解
http://www.vckbase.com/document/viewdoc/?id=349
日本人写的:
http://www.asahi-net.or.jp/~VZ4H-SRUZ/ipmsg-eng.html
现在发现上面的这些思路实际上和语音email的思路很接近:
- java语音聊天室原形的实现
- java语音聊天室原形的实现
- java 语音聊天室
- java 语音聊天室
- Java实现的聊天室
- 实现一个简单的语音聊天室(源码)
- 聊天室系统的Java实现
- Java 实现多线程的聊天室
- JAVA网络聊天室的设计与实现
- JAVA推技术聊天室的实现
- java 实现单线程的聊天室
- java简单Socket聊天室程序的实现
- Java实现简单的聊天室程序
- Java 聊天室的简单实现原理
- 实现一个简单的语音聊天室(多人语音聊天系统)
- Java 实现QQ聊天室
- java实现聊天室
- java实现简单聊天室
- 截获消息(2)
- 脚本编程教学(1)
- vbscript脚本编程教程2
- 心情风筝2之审美疲劳症
- 以博客的名义
- java语音聊天室原形的实现
- 自我介绍
- 技术成长历程(.net)4
- 学习DotNet经典网站
- 一维指针遍历二维数组
- 成功激活,发贴留念。
- GTK+学习笔记1
- oracle系统表查询
- oracle表查询 数据库设计经验谈