前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java语音聊天室原形的实现

java语音聊天室原形的实现

作者头像
田春峰-JCJC错别字检测
发布2019-02-14 14:54:20
2.8K0
发布2019-02-14 14:54:20
举报
文章被收录于专栏:字根中文校对软件

        原本以为从 麦克风 上获得音频输入很复杂,原来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的思路很接近:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2004年07月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档