0. 背景
上一文(一)使用步骤,以下称(一)讲述如何使用既有材料和Unity5.x,构建一个简单的语音聊天客户端,服务端程序。本文会详细讲述语音聊天的框架流程和客户端录音和播放相关组件的API。
1. 简易结构
(一)的总体结构非常简单,即一个服务器,若干个客户端。如下图1所示:
图1.语音聊天简易结构
服务端基本不干什么事:a).连接客户端,b).将某一客户端发来的语音数据转发给其他客户端(包括该客户端),所以就像一个中转站。而客户端需要做的事情会多很多,比如录音(播放),压缩(解压缩),序列化(反序列化)等等。
2. 客户端录音与播放
客户端最为重要的就是录音和播放两个功能,他们都需要使用到Unity引擎的类库:Microphone
类和AudioClip
组件。
首先再次明确项目中的material
文件夹中有四个子文件夹,Base,UI,Networking,Behaviour
,其主要功能如下图2所示:
图2.
Base,UI,Networking,Behaviour
主要功能点
具体的作用可以参考图中的列出的功能点或是参考(一)中的解释。
需要特别说明,在Base
文件夹中的有一个voicechat.dll
和一个名为voicechat
的文件夹,而且voicechat.dll
是由voicechat
文件夹中的文件打包的动态链接库。