Java校园语音通信软件开发

一、前言

随着通信技术的进步,利用 络进行语音通信已经日趋成熟和普及。 络的语音通信通信成本低廉,又具有较高的通信质量,在很多场景下,已经替代了传统的语音通信手段。目前,软件市场上的 络语音通信的软件种类繁多,不同的语音通信软件往往针对不同的应用场景设计,有的针对陌生人之间的通信场景,有的应用于熟人交际圈,有的基于学术讨论等。

  1. 满足教职工日常办公语音通信的需要。
  2. 针对校园语音信息发布、校园应急指挥的需求,能够结合学校广播系统,提供分区域语音信息发布,分区域喊话的功能。

二、项目简介

从功能需求和非功能需求两个方面,对软件系统进行需求分析。在功能需求分析中,以教职工日常办公、校园活动组织者、广播播 者三类用户作为分析对象,绘制了用例图,进行了用例描述。在非功能需求分析中,从语音质量、运行环境等方面进行了分析。

根据需求分析,对软件系统的主要模块进行了设计。进行了系统架构设计、及系统功能设计、语音通信方案设计、编解码、降噪方案设计、数据库设计、界面设计,完成了对软件所使用的技术实现方案的设计。

在系统的整体架构设计上,根据软件的需求可知,P2P 通信方式难以满足软件通信的需要,选择采用一般通讯系统常用的 C/S 架构。

在服务器方面,选择 XMPP 协议作为软件的主要通信协议。在 Windows Server操作系统上安装和配置了开源的 Openfire 服务器,作为 XMPP 协议服务器。为了3方面数据操作,安装和配置了 MySQL 数据库,并将数据库与 Openfire 服务器成功连接。

使用 Java 语言在 Android 平台上开发客户端软件。在开发中,使用 AndroidStudio  Android SDK 作为基本的集成开发环境,使用 smack 库作为客户端的XMPP 实现库。通过 Smack 库完成了用户登录、一对一文本通信、群组文本通信等即时通讯的基本功能。客户端设计可以有不同的登录形态,可以安装于嵌入式安卓平台,使得使得本软件系统能够方便的连接校园广播,实现语音广播与播放控制。在编解码、降噪方面,首先研究了常用的语音降噪和编码方法,选择使用较为有效的 CELP 算法进行编码,STSA-MMSE 算法进行降噪、语音增强。选择了Speex 库作为语音降噪和编码的实现库,实现了对语音的录制、降噪、编码和解码。

克服了 XMPP 协议不直接支持语音通信的困难,使用数据封装的办法,将语音文件封为 XMPP 协议支持的 XML 数据。实现了 Openfire 服务器、XMPP 协议框架下的语音通信。

三、项目源码

https://download.csdn.net/download/weixin_47367099/85127184

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览93549 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月10日
下一篇 2022年3月10日

相关推荐