语音示例 - C SDK

语音示例(C版本)演示了语音的实现过程和基本功能。

Preview
阅读时间6分钟

此语音示例将演示如何在客户端和服务器应用的基础上,为C SDK实现安全的语音聊天系统

示例包括以下功能:

  • 请求令牌以允许用户加入有其他用户的房间(通过服务器)
  • 加入有好友或其他用户的房间
  • 离开房间
  • 将你自己的音频静音
  • 将其他用户的音频静音(通过服务器且仅允许房主操作)
  • 将另一名用户踢出房间(通过服务器且仅允许房主操作)
  • 用户在发言或被禁言时显示状态更新
  • 变更音频输入和输出设备

语音客户端

Windows 32/64位设置

本节将介绍32位和64位Windows操作系统语音客户端示例应用程序的构建和运行。

构建Win64/Win32专用语音客户端示例应用程序

  1. EOS-SDK.zip 解压到你选择的位置。
  2. 导航至 EOS-SDK > 示例(Samples)
  3. 双击 Samples.sln。Visual Studio会和它一起在 解决方案浏览器 中打开。
  4. 启动项目(StartUp Project) 设置为 语音(Voice)
  5. 打开 SampleConstants.h,然后根据数值为测试应用程序更新 ProductIdSandboxIdDeploymentIdClientCredentialsIdClientCredentialsSecret
  6. 选择解决方案配置:Release_DXDebug_DX
  7. 选择解决方案平台:x64 (Win64)或x86 (Win32)。
  8. 解决方案浏览器 中右键单击 语音(Voice) 项目并选择 构建(Build)
  9. 构建成功后,你应该在 \EOS-SDK\Samples\Voice\Client\Bin\Win64\Release_DX\ 下有一个有效的 Voice.exe

现在你可以运行示例应用程序。

运行Win64/Win32专用语音客户端示例应用程序

如需运行语音客户端示例应用程序:

  1. 比如,导航至 \EOS-SDK\Samples\Voice\Client\Bin\Win64\Release_DX\
  2. 运行Voice.exe
  3. 添加 -serverport <port> 以变更服务器侦听端口。
  4. 添加 -serverurl <url> 以变更服务器URL。

MacOS或Linux系统设置

设置先决条件

要在MacOS上构建语音客户端示例应用程序,你需要安装以下依赖项:

构建MacOS或Linux专用语音客户端示例应用程序

  1. EOS-SDK.zip 解压到你选择的位置。
  2. 在终端中,导航至 /EOS-SDK/Samples/Voice/Client/
  3. 打开 SampleConstants.h,然后根据数值为测试应用程序更新 ProductIdSandboxIdDeploymentIdClientCredentialsIdClientCredentialsSecret
  4. 运行:./Build.sh(你也可以在Mac上通过 查找器(Finder) 运行 Build.command
  5. 一旦构建成功完成,你会在以下目录下新创建文件:/EOS-SDK/Samples/Voice/Client/Build/

现在你可以开始运行示例应用程序。

运行MacOS或Linux专用语音客户端示例应用程序

如需打开示例应用程序:

  1. 导航至 /EOS-SDK/Samples/Voice/Client/
  2. 运行:./Run.sh(你也可以在Mac上通过 查找器(Finder) 运行 Run.command
  3. 添加 -serverport <port> 以变更服务器端口。
  4. 添加 -serverurl <url> 以变更服务器URL。

使用语音客户端示例应用程序

如需使用开发人员身份验证工具登录,选择 开发人员身份验证(Dev Auth) 选项,然后再选择 登录(Log In)。登录后,语音客户端示例应用程序包括以下选项:

加入

点击 加入(JOIN),启动加入房间流程。通过服务器应用程序生成请求,以获得将用于进入房间的加入房间令牌。

由于当前房间无其他玩家,系统将创建新房间,同时将你添加到此新建房间。房间编号会显示在房间:(“Room:)”框中,“房间成员(ROOM MEMBERS)”表会更新,以显示你加入的房间:

离开

使用 离开(LEAVE) 房间退出目前你为其成员的房间。

禁言

禁言(MUTE) 仅适用于本地用户,可用于将你的音频静音。你的音频被静音后,你会看到音频状态图标变为红色,如下所示:

仅限房主

房主可以选择将另一名用户静音,或将其踢出当前房间。

远程禁言

点击 远程禁言(REMOTE MUTE) 可将该用户禁言。

踢出

点击 踢出(KICK) 将该用户踢出当前房间,他们无法重新加入房间,除非请求并获得新房间加入令牌。

聊天

在好友列表中点击好友名字旁的 聊天(CHAT),然后你会被添加到他们的房间,与他们聊天。

你也可以使用 加入(JOIN) 控制台命令与非好友玩家加入同一个房间。

音频设备

你可以使用 设置(SETUP) 对话框中的下拉菜单更改输出和输入音频设备:

发言状态

用户正在发言时,音频状态图标会变为绿色和一个完整的喇叭:

控制台命令

加入

  • 用途:“JOIN ROOM_NAME”。
  • 为本地用户启动加入房间流程。
  • 如果提供了ROOM_NAME,则在允许后可加入此房间。
  • 如果未提供ROOM_NAME,则会在创建新房间后加入。

离开

  • 用途:“LEAVE”
  • 本地用户将离开当前房间。

踢出

  • 用途:“KICK USER_ID”。
  • 将用户踢出当前房间。
  • 如果你不是房主,则无法进行任何操作。
  • USER_ID 是一个ProductUserId。

远程禁言

  • 用途:“REMOTEMUTE USER_ID MUTE”。
  • 为用户设置远程禁言状态。
  • 如果你不是房主,则无法进行任何操作。
  • USER_ID 是一个ProductUserId。
  • 禁言(MUTE)1 时表示禁言,为0 则表示取消禁言。

语音服务器

Windows 32/64位系统设置

本节将介绍32位和64位Windows操作系统专用语音服务器示例应用程序的构建和运行。

构建Win64/Win32专用语音服务器示例应用程序

  1. EOS-SDK.zip 解压到你选择的位置。
  2. 导航至 `\EOS-SDK\Samples\。
  3. 双击 Samples.sln。Visual Studio会和它一起在 解决方案浏览器 中打开。
  4. 启动项目(StartUp Project) 设置为 语音服务器(VoiceServer)
  5. 打开 SampleConstants.h,然后根据数值为测试应用程序更新 ProductIdSandboxIdDeploymentIdClientCredentialsIdClientCredentialsSecret
  6. 选择解决方案配置。使用 ReleaseDebug
  7. 选择解决方案平台:x64 (Win64) 或 x86 (Win32)。
  8. 解决方案浏览器 中右键单击 语音服务器(VoiceServer) 项目并选择 构建(Build)
  9. 构建成功后,你应该在 \EOS-SDK\Samples\Voice\Server\Bin\Win64\Release\ 下有一个有效的 VoiceServer.exe

现在你可以运行示例应用程序。

运行Win64/Win32专用语音服务器示例应用程序

如需运行语音服务器示例应用程序:

  1. 比如,导航至 \EOS-SDK\Samples\Voice\Server\Bin\Win64\Release`
  2. 运行 VoiceServer.exe
  3. 添加 -voiceserverport <port> 以变更服务器侦听端口。
  4. 添加 -voiceserverurl <url> 以变更服务器URL。

MacOS或Linux系统设置

设置先决条件

要在MacOS上构建语音服务器示例应用程序,你需要安装以下依赖项:

  • cmake
  • gcc(通过Mac专用Xcode命令行工具)

构建MacOS或Linux专用语音客户端示例应用程序

  1. EOS-SDK.zip 解压到你选择的位置。
  2. 终端(Terminal) 中,导航至 /EOS-SDK/Samples/Voice/Server/
  3. 打开 SampleConstants.h,然后根据数值为测试应用程序更新 ProductIdSandboxIdDeploymentIdClientCredentialsIdClientCredentialsSecret
  4. 运行:./Build.sh(你也可以在Mac上通过 查找器(Finder) 运行 Build.command
  5. 一旦构建成功完成,你会在以下目录下新创建文件:/EOS-SDK/Samples/Voice/Server/Build/

现在你可以开始运行示例应用程序。

运行MacOS专用语音服务器示例应用程序

如需打开示例应用程序:

  1. 导航至 /EOS-SDK/Samples/Voice/Server/
  2. 运行:./Run.sh(你也可以在Mac上通过 查找器(Finder) 运行 Run.command
  3. 添加 -voiceserverport <port> 以变更服务器侦听端口。
  4. 添加 -voiceserverurl <url> 以变更服务器URL。

使用语音服务器示例应用程序

语音服务器是一个以控制台为基础的应用程序,所以无GUI元素,调试文本将打印到控制台和调试日志文件(默认:DebugOutput.log)。会将错误打印为 红色 文本,警告是 黄色 文本。

一旦语音服务器应用程序启动,可保持运行,并将处理来自多个客户端的请求。

使用 Ctrl+C 终止服务器应用程序。