SOS!!!基于服务器中转的语音聊天问题

问题描述

在做聊天软件,在语音聊天这块,因为我的聊天是基于服务器中转的,所以我的想法是:当点击“语音”按钮时:客户端开始进行一直录音(直到用户点击结束语音聊天),并且每1024byte就存入一个.wav文件中,然后把这个文件发给服务器,让服务器再转发给另一个客户,再播放出来。下面是客户端一直录音并且每1024字节就保存起来的程序,但不知为什么,录到的文件始终为空。AudioFormataf;TargetDataLineline;Filevoicefile=newFile("E:/test.wav");try{af=newAudioFormat(8000,16,2,true,true);DataLine.Infoinfo=newDataLine.Info(TargetDataLine.class,af);line=(TargetDataLine)AudioSystem.getLine(info);line.open(af);bytedata[]=newbyte[1024];intnumByteRead=0;line.start();Messagevoice=newMessage();voice.setMessageType(MessageType.voice);while(true){numByteRead=line.read(data,0,1024);InputStreambyteRead=newByteArrayInputStream(data);AudioInputStreamais=newAudioInputStream(byteRead,af,data.length/af.getFrameSize());AudioSystem.write(ais,AudioFileFormat.Type.WAVE,voicefile);////////就是保存到这个文件里,但是一直为空!!!voice.setSender(this.owner);voice.setReceiver(receiver);voice.setTellGroupID(this.group);voice.setFile(voicefile);ObjectOutputStreamoosvoice=newObjectOutputStream(ManageCliConSerThread.getClienConSerThread(owner).getS().getOutputStream());oosvoice.writeObject(voice);}}catch(Exceptione){e.printStackTrace();}

解决方案

本帖最后由 Cryslonger 于 2011-03-14 15:49:53 编辑
解决方案二:
该回复于2011-03-14 17:24:24被版主删除

时间: 2024-07-28 20:36:12

SOS!!!基于服务器中转的语音聊天问题的相关文章

实现一个简单的语音聊天室(源码)

语音聊天室,或多人语音聊天,是即时通信应用中常见的功能之一,比如,QQ的语音讨论组就是我们用得比较多的.        这篇文章将实现一个简单的语音聊天室,让多个人可以进入同一个房间进行语音沟通.先看运行效果截图:          从左到右的三张图分别是:登录界面.语音聊天室的主界面.标注了各个控件的主界面. (如果觉得界面太丑,没关系,后面下载源码后,你可以自己美化~~) 一. C/S结构 很明显,我这个语音聊天室采用的是C/S结构,整个项目结构相对比较简单,如下所示:        该项目

P2P直连?经服务器中转?

      当同一个系统的两个客户端A.B相互发送消息给对方时,如果它们之间存在P2P通道,那么消息传送的路径就有两种:直接经P2P通道传送.或者经服务器中转.如下图所示:             通常就一般应用而言,如果P2P通道能够成功创建(即所谓的打洞成功),A和B之间的所有消息将直接走P2P通道,这样可以有效节省服务器的带宽和降低服务器的负载.这种模型即是所谓的"P2P通道优先"模型,也是最简单的通道选择模型. 一.通道质量优先模型       然而,有些系统可能不能就如此简单

手把手教你建ASP语音聊天室

聊天室 第一步:下载语音聊天室服务器端程序,我们要用的是Bchat工作室的Bchat Server. 1.进入http://bchat.yinsha.com/页面:2.页面右侧的"火热头条"中有"Bchat推出10用户免费下载版"字样,我们需要的就是它:3.点击"Bchat推出10用户免费下载版"的链接后,就到了免费版本下载页面:4.在下载页面中下载"Windows版本"(其他版本我没用过,我就会使用Windows版本):5.

用Agent+ASP技术制作语音聊天室

聊天室 用Agent+ASP技术制作语音聊天室--------------------以下为程序内容,按文章中出现的顺序分块排序 <!--定义"AgentControl"--><OBJECT classid=clsid:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F codeBase=#VERSION=2,0,0,0 id=Agent></OBJECT> <!--定义L&H TruVoice Text-To-S

聊天室-语音聊天选用什么录音组件

问题描述 语音聊天选用什么录音组件 我想做一个语音聊天的系统,该系统中支持多人同时在线聊天,每个人说的话要立马通过服务器分发到其他用户那里.如果将录音文件转成wav格式或者其他格式,将会在转格式得时候花费一些时间,可能会造成一定的延迟,所以最理想得事将录音原始数据直接送到对方那里进行播放.那么我要支持windows,iOS以及android之间的通话的话,应该选择哪种录音组件,播放得时候要选用那种播放组件呢? 解决方案 马上,不要求实时吗? 录完音再发送,与边录边发的实现区别可是大的太多了. 录

fms-使用flash和FMS做语音聊天室怎样不播放自己的声音

问题描述 使用flash和FMS做语音聊天室怎样不播放自己的声音 使用NetStream流发布实时语音到服务器nsOut.publish("dummy", "live"); 然后客户端使用另一个NetStream播放nsIn.play("dummy"); 现在问题是自己说的话也被自己播放出来了这个该怎么解决,或者说做语音聊天室不是用这个方法做的 还求各位大大给个思路

基于UDP协议的语音聊天系统的设计与实现

问题描述 基于UDP协议的语音聊天系统的设计与实现 系统架构为C/S模式.能登陆.查找.添加好友,先后与2个以上好友语音聊天.服务端存储信息. 解决方案 你可以去学习一下 XMPP 解决方案二: 你这个模型,要是局域网就好说,一个收一个发,开个UDP持续监听就可以,但是要是通外网,那你就要好好学习下,以下几个软件,mqtt,pjsip.不然你做出来的东西可能很难用.

计算机网络课设之基于UDP协议的简易聊天机器人

前言:2017年6月份计算机网络的课设任务,在同学的帮助和自学下基本搞懂了,基于UDP协议的基本聊天的实现方法.实现起来很简单,原理也很简单,主要是由于老师必须要求使用C语言来写,所以特别麻烦,而且C语言的socket编程我基本没有接触过,顶多对java网络编程有一点涉猎.下面我将自己所学的知识做了一个总结,希望可以对想要去接触socket(网络)编程的同学有一个帮助,当然想要学好网络编程肯定是离不开几本书的支撑的,这篇文章主要通过一个机器人聊天的案例帮大家入下门. 注意:想要成功运行的前提条件

VoiceChatter 1.4.7发布 语音聊天程序

VoiceC++hatter 1.4.7此版本主要修复了一些令人讨厌的问题.最大的变化是Windows客户端设置现在保存正确时不以管理员身份运行.一种罕见的导致服务器崩溃的错误已修复,现在数据库配置模块将充许短暂断开. VoiceChatter是一个与YY TS3等http://www.aliyun.com/zixun/aggregation/12498.html">语音聊天程序类似的开源项目,采用C++编写,GUI用到了wxWidgets,语音部分使用开源的speex.espeak.可跨