java语音聊天室原形的实现

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

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
生成原形二维码可以使用Python中的第三方库qrcode来实现。首先需要安装qrcode库,可以通过pip命令来安装:pip install qrcode。 接下来,需要导入qrcode库和PIL库(Python Imaging Library): import qrcode from PIL import Image 然后,创建一个qrcode对象: qr = qrcode.QRCode( version=1, # 二维码的大小,范围是1到40,默认为1 error_correction=qrcode.constants.ERROR_CORRECT_H, # 二维码的纠错等级 box_size=10, # 二维码中每个方块的像素数 border=4, # 二维码距离图像边界的距离,默认为4 ) 接下来,生成原形二维码的关键是在PIL库中创建一个具有透明背景的圆形图像,然后将圆形图像作为logo添加到qrcode对象中。首先创建一个空白图像,然后使用PIL库的draw模块进行绘制: image = Image.new('RGBA', (300, 300), (255, 255, 255, 0)) draw = ImageDraw.Draw(image) draw.ellipse((0, 0, 300, 300), fill='white', outline='black') 然后将这个圆形图像作为logo添加到qrcode对象中: qr.add_data("Hello, World!") # 设置二维码的内容 qr.make(fit=True) img = qr.make_image(fill_color="black", back_color="white") img = img.resize((200,200)) logo = Image.open("logo.png") # 导入logo图像,可以是任意形状的图像,只需保证图像大小合适即可 logo = logo.resize((40, 40)) img.paste(logo, (80, 80)) 最后,将生成的二维码保存到文件中: img.save("qrcode.png") 最终得到的qrcode.png文件即为生成的原形二维码。以上就是使用Python生成原形二维码的方法,并且将logo图像添加到二维码中。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JCJC错别字检测-田春峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值