互联网的普及给现代人带来了极大的方便,人们除了可以在网上看新闻、发电邮、购物、查资料等等,最重要的是可通过互联网与家人、亲戚、朋友或陌生人在线交流。现在比较流行的交流方式大概有ICQ式、文字聊天室、网上会议等。国内网民使用较多的可能要数OICQ和文字聊天室了,这两种文字聊天方式都有各自的优点,但缺点也是明显的,首先文字输入速度就是许多网民的一大障碍,还有某些信息很难用文字表达,所以作为另一种聊天方式-语音聊天正在网上盛行起来了。
一、 网上语音聊天的基本情况及原理
网上语音聊天与传统的语音聊天区别主要在于客户机不需要事先安装聊天程序,而是直接通过网页进行语音交流,具有快捷、方便的特点。虽然其它很多聊天软件也有这样的功能,比如NetMeeting,但它首先要求客户机必须安装NetMeeting软件,而且NetMeeting实际上是客户机与客户机之间的实时语音图像传送,不是连接到语音服务器上。据笔者了解目前开发网上语音服务的公司有Lipstream.com和HearMe.com公司,其实现原理简单描述如下:
当客户机浏览器第一次连接到服务商的网站时,浏览器首先会自动下载一个语音组件到本地机上(以后浏览就不会再下载,但它可自动升级),语音组件根据网页中的相关参数自动连接到指定的语音服务器上(在此之前还要进行授权验证等),完成这一切之后,客户端语音组件实际上已与语音服务器建立了一个数据通道。语音组件首先起到采集语音信息的作用,并将其压缩之后传给服务器,服务器再将其分发至相关客户机;同时语音组件一旦接收到服务器的语音压缩包,便对其解压缩并还原成语音信息播放出来,所有的这一切都是实时进行传送的,所以我们听到声音是连续的。
二、创建自己的语音聊天室
全球最大的免费的语音服务是Excite提供的,它采用Lipstream.com公司的语音控件来提供服务的,其实现方法如下:
function enterchat(room,nick)
{
url=http://www.excite.com/communities/chat/voicechat/client
/F_body_content?roomname="+room+"&username="+nick;
Sito=window.open(url,"VoiceChat","width=380,height=320,toolbar=0,
location=0,directories=0,status=0,menubar=0,resizable=1,scrollbars=0");
return false;
}
参数room表示房间名称,nick表示在房间中显示的名称。将以上函数拷贝到您的网页中,在适当的地方调用,即可拥有自己的语音聊天室了。
Excite.com提供的这个免费语音聊天室的优点是:性能比较稳定,话音质量也较好,即使在网络繁忙的情况下也能保持不错的话音质量,而且噪音较小,同时可向聊天室中的人发送文字信息。但其缺点在于它的窗口面积较大,无法嵌入到我们自己的网页中(其实原理上是可以嵌入的,但它的窗口几乎占满了整个屏幕),而且广告太多,不断刷新,给人感觉很烦。
还有HearMe.com公司提供的语音服务,其具体实现代码如下:
<!------设置语音组件参数-------->
<FORM name=HearMeVCC vAlign=center>
<INPUT name=Talklimit type=hidden value=30000>
<!------设置语音组件的高度、宽度、背景前景颜色等参数-------->
<INPUT name=Width type=hidden value=550>
<INPUT name=Height type=hidden value=310>
<INPUT name=Border type=hidden value=0>
<INPUT name=Color type=hidden value=#FE6F18>
<INPUT name=Background type=hidden value="color=#FE6F18 msgtext=#FE6F18 msgback=#FE6F18">
<INPUT name=OptionsButton type=hidden value="noimage back=#FE6F18 text=#000000 disabled=#FF0000 flash=#FE6F18 hilite=#FE6F18 lolite=#FE6F18">
<!------设置文字聊天室颜色显示参数-------->
<INPUT name=TextChatWindow type=hidden value="embedded=150 back=#FE6F18 entertext=#FFFFFF enterback=#000000 chatsystem=#FFFF00 chatevent=#ff0000 chatyou=#FFFF00 chatothers=#FFFFFF chatback=#000000">
<!------设置在线列表颜色显示参数-------->
<INPUT name=UserList type=hidden value="back=#000000 you=#FF0909 others=#FFFF00 talker=#FFFFFF ignored=#950299 ignoredtalker=#0000FF">
<!----- 是否显示选项'按钮和状态栏-------->
<input type=hidden name='OptionsButton' value='true'>
<input type=hidden name='StatusArea' value='true'>
<!------房间名称,登录者名称参数-------->
<INPUT name=Channel type=hidden>
<INPUT name=Username type=hidden>
<!------ Channel.value房间名称,Username.value登录者名称,可修改成您所定的参数-------->
<script language=JavaScript>
document.HearMeVCC.Channel.value = '#testroom';
document.HearMeVCC.Username.value = 'test';
</script>
<!------显示语音组件--------->
<script src="http://www.helperHome.com/data/voice/chat.js">
将以上代码嵌入到网页中,即可出现语音聊天窗口(有段时间忽然停止服务,现在已恢复了)。它由两个窗口组成:一个显示在线人名称,一个显示文字信息。其中窗口背景颜色、大小都是可自行设置的,这样就可与你的网页很紧密的结合在一起,同时它还有文字聊天的功能。但其缺点也是致命的,首先话音质量不是很好,有明显的沙哑声,而且对中文的支持不是很好,窗口中显示一堆乱码,很难看。
以下是笔者收集到的一些其它免费聊天室网址,可供参考:
voice chat on IGN(http://my.ign.com/ignroot/lipstream/chatroom.jsp)
Africana.com The Talking Drum(http://www.africana.com/)
For the People(http://www.for-the-people.com/members/mem-users.htm)
三、网上语音服务,商机无限
以前笔者认为网上语音聊天是不现实的,原因在于国内的网络带宽太窄,而且网络速度也不稳定,在上网高峰期时根本无法使用。但经过笔者一段时间的试用之后,发现语音聊天的效果还是很好的,或许是由于Lipstream.com和HearMe.com公司采用了较好的压缩算法缘故,目前它已广泛的应用到许多站点。其实语音服务的真正意义并不仅仅在于创建语音聊天室,更大的作用是它可用于网上英语口语学习,公司客户服务,网上会议等领域。几个著名的网上英语教学网站"EnglishTown"(http://www.englishtown.com/)和"GlobalEnglish"(http://www.globalenglish.com)采用了Lipstream.com和HearMe.com公司的语音服务搭建了"口语角"和"口语练习"等栏目。
到目前为止,笔者没有听到国内有任何一家公司在开发网上语音服务的消息,其实这是一个极具商机和潜力的开发领域,虽然难度比较大,但或许大多数人还未认识到。而国内部分商业网站和许多个人网站大多采用HearMe.com公司提供的语音聊天,如"也有爱"(http://www.yelove.com)等。最近笔者也帮一个网友开发了"雨巷寻香语音文字聊天室"(http://www.rainlane.com),其中语音聊天就采用了Excite.com提供的服务,效果很不错哦。
四、结束
笔者相信未来的互联网将是语音和视频图像的世界,随着宽带网的逐步实现,这将不再是遥不可及的事了。欢迎有兴趣的朋友来笔者的个人站点"助手之家"(http://www.helperHome.com)参与这方面的讨论。