可在广域网部署运行的QQ高仿版 -- GG叽叽V3.6,增长语音消息、语音留言等功能 可在广域网部署运行的QQ高仿版 -- GG2013概要

  自从微信出来后,语音消息和语音留言变得很是流行,按下一个键说话,比打字要方便多了。GG在V3.6版本增长了对语音消息和语音留言(或称为离线语音消息)的支持。这两个功能的实现已经很完整,只是比较遗憾的一点是:GG所使用的文本框控件,尚未办法像微信的聊天窗口的文本框那样嵌入表示语音消息的控件,因此,我不得不把接收到的语音消息使用一个下拉列表罗列出来,实在很无奈。html

一.GG V3.6 新增功能展示 

1.语音消息服务器

2.语音留言微信

3.离线消息分类:离线文字消息、离线语音消息。post

4.修复bug:V3.5版本中出现了收不到离线文字消息的bug,已被修复。url

      废话很少说,仍是先上图。spa

  发送语音消息:3d

  

  说明:点击菜单栏的麦克风按钮,窗口右侧将出现一个记录语音的Panel,按下“请按住说话”按钮便可开始记录语音,松开后,将完成记录,并将语音消息发送给对方。orm

  接收语音消息、播放语音消息:htm

  

  说明:点击下拉列表中的条目,便可播放相应的语音消息。blog

 

二.实现思路

  虽然提供了源代码,可是,我仍是想将主要的思路列一下,这样,你们理解起源码来,会节省更多的时间。

1. 在项目源码中搜索“V3.6”,既能够看到本次修改所涉及到的主要源码部分。

2. 客户端增长AudioMessagePanel控件,用于记录语音消息。

3. 语音消息的采集是使用OMCS的IMultimediaManager的微信控制器模块MicroMessageController来实现的。

4. 语音消息的播放使用的是MicroMessagePlayer组件。

5. 在MainForm的Initialize方法中,预约MicroMessageController的MicroMessageReceived事件,以接收全部在线语音消息。

6. InformationTypes增长OfflineAudioMessage消息类型,用于表示离线的语音消息。

7. 在MainFormPartial.cs文件的HandleInformation方法中,在处理离线消息时,区分离线的文字消息和离线的语音消息,并分别处理。

8. 在服务端OfflineMessageController中,预约了IMultimediaServer的MicroMessagePostFailed事件,以捕获全部转发失败的语音消息,并将其与离线文字消息同样的方式存储、以及后续处理过程也一致。

 

三.GG V3.6 源码下载 

下载最新版本,请转到这里。 

 注意:若是要将GG部署到广域网,则能够在服务端的配置文件中设置监听的端口;而在客户端的配置文件中,则能够指定服务器的IP和Port。

 

关于GG的最新全貌介绍、以及如何部署、试用账号等问题,我单独写了一篇文章,做为汇总,可参见 可在广域网部署运行的QQ高仿版 -- GG2013概要。 

欢迎和我探讨关于GG2013的一切,个人QQ:2027224508,多多交流!  

你们有什么问题和建议,能够留言,也能够发送email到我邮箱:ggim2013@163.com。 

若是你以为还不错,请粉我,顺便再顶一下啊,呵呵  

相关文章
相关标签/搜索