前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >零基础搭建iOS语音聊天室平台源码

零基础搭建iOS语音聊天室平台源码

作者头像
云豹科技程序员
修改于 2021-05-24 10:00:24
修改于 2021-05-24 10:00:24
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

语音聊天室平台源码玩法兴起,众多社交泛娱乐平台已纷纷跟进。

语音聊天室平台源码的实现,主要由业务系统和移动/Web 客户端组成。其中业务系统需要实现房间管理、麦位管理、音频流和麦位关联关系管理等功能,客户端需要实现登录/登出房间、拉流/停止拉流、上麦推流/停止推流下麦等功能,还可以根据需要使用房间信息通道实现 IM 功能。

下面具体来看操作步骤~

1、创建/销毁引擎 在使用 Express Audio SDK 之前,需要初始化 Express Audio SDK。由于初始化操作 SDK 内部处理的流程较多,建议开发者在 App 启动时进行。

创建引擎

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 填写 appID 和 appSign
unsigned int appID = ;  // 请通过官网注册获取,格式为:1234567890
NSString *appSign = ;  //请通过官网注册获取,格式为:@"0123456789012345678901234567890123456789012345678901234567890123"(共64个字符)
// 创建引擎,使用测试环境,通用场景接入,并注册 self 为 eventHandler 回调代理
// 不需要注册回调的话,eventHandler 参数可以传 nil,后续可调用 "-setEventHandler:" 方法设置回调代理
[ZegoExpressEngine createEngineWithAppID:appID appSign:appSign isTestEnv:YES scenario:ZegoScenarioGeneral eventHandler:self];

销毁引擎

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[ZegoExpressEngine destroyEngine:nil];

2、设置事件回调 可以根据场景需要,在初始化 SDK 后监听想要关注的事件通知,比如用户加入房间,房间流更新等等。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 遵循 ZegoEventHandler 协议以处理您关心的事件回调
@interface ViewController () <ZegoEventHandler>
// ······
@end
@implementation ViewController
// ······
// 举例:监听房间内流数量变更的通知
- (void)onRoomStreamUpdate:(ZegoUpdateType)updateType streamList:(NSArray<ZegoStream *> *)streamList roomID:(NSString *)roomID {
    // ······
}
@end

3、登录/登出房间 用户上麦推流之前,需要先登录房间,在收到登录房间成功的回调后可以直接调用 loginRoom 接口进行推拉流操作。相关源码片段演示如下,仅供参考:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 创建用户对象
ZegoUser *user = [ZegoUser userWithUserID:@"user1"];
// 开始登陆房间
[[ZegoExpressEngine sharedEngine] loginRoom:@"room1" user:user];
// 登出房间
[[ZegoExpressEngine sharedEngine] logoutRoom:@"room1"];

4、开始/停止推流 调用 startPublishingStream 接口,可以向远端用户发送本端的音视频流。如果不需要继续推流,请调用 stopPublishingStream 停止推流。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 开始推流
[[ZegoExpressEngine sharedEngine] startPublishingStream:@"stream1"];
// 停止推流
[[ZegoExpressEngine sharedEngine] stopPublishingStream];

5、拉流/停止拉流 调用 startPlayingStream 进行拉流,如果不需要继续拉流,请调用 stopPlayingStream 停止拉流。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 开始拉流
[[ZegoExpressEngine sharedEngine] startPlayingStream:@"stream1"];
// 停止拉流
[[ZegoExpressEngine sharedEngine] stopPlayingStream:@"stream1"];

以上就是iOS语音聊天室平台源码的搭建流程

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
使用Let's Encrypt的SSL证书配置HTTPS手记
前段时间,看见很多大会都在分享全站HTTPS的经验。HTTPS固然好,前提是SSL证书,并且签发证书的机构要靠谱。沃通的CA证书就相继被Mozilla和Google封杀了。曾经对于普通用户,权威,安全,并且免费的证书无疑就像天上的星星,可望而不可及。现在,这些星星变成了馅饼掉了下来。没错,我们可以申请安全免费的ssl证书--- Let's Encrypt。 Let’s Encrypt是电子前哨基金会(EFF)发布的免费 SSL 证书服务,Google,Mozilla和Microsoft都极力支持。很早之前就
李海彬
2018/03/19
2.6K0
使用Let's Encrypt的SSL证书配置HTTPS手记
linux centos debain nginx自动ssl证书配置 软件 snapd
# sudo apt-get remove certbot、sudo dnf remove certbot或sudo yum remove certbot。
eisc
2022/03/06
1.2K0
SSL证书自动化如此简单-certbot实践
方式一:用指定根目录的方式,会在根目录下创建一个.well-known来验证域名的所有权
用户10002156
2024/01/05
8690
SSL证书自动化如此简单-certbot实践
CentOS7-Nginx配置Let's-Encrypt-SSL证书
为http站点添加https支持,需要从证书发行机构获取SSL/TLS 证书。常见的免费证书有两种:
职场亮哥
2020/10/10
2.2K0
在Ubuntu 18.04上使用Let’s Encrypt保护Nginx
Let's Encrypt是由互联网安全研究组(ISRG)开发的免费开放认证机构。 Let's Encrypt颁发的证书现在几乎所有浏览器都信任。
星哥玩云
2022/07/13
1.5K0
在Ubuntu 18.04上使用Let’s Encrypt保护Nginx
在 Ubuntu 18.04 上使用 Let’s Encrypt 来保护 Nginx
Let's Encrypt 是由 Internet Security Research Group(ISRG)开发的免费开放证书颁发机构。 今天几乎所有浏览器都信任 Let's Encrypt 颁发的证书。
星哥玩云
2022/07/28
8820
使用Let's Encrypt免费证书实现https
Let's Encrypt是一家免费、开放、自动化的证书颁发机构(CA),为公众的利益而运行(由非盈利组织互联网安全研究小组(ISRG)运营)。
极客运维圈
2020/06/01
1.8K0
使用Let's Encrypt免费证书实现https
你的网站HTTPS了吗 | Let’s Encrypt
前言 下午,图书馆闭馆了了、得找一个安全的地方上网(o)/~,一直听说着Let’s Encrypt。前几天玩了一下,但是本地运行Let’s Encrypt不能生成证书,Maybe School DNS question :-D,那就在腾讯云服务器玩玩。 ---- Let’s Encrypt Let's Encrypt是由EFF、Mozilla、Cisco、Akamai、IdenTrust与密西根大学研究人员共同创立的免费的凭证中心,目的在于推动全球所有的网站都使用HTTPS加密传输,创建一个更安全、更具
AlicFeng
2018/06/08
2.4K0
如何在 CentOS 8 上使用 Let's Encrypt 保护 Nginx
Let’s Encrypt 是一个免费的,自动的,开源证书供应商,它由 Internet Security Research Group (ISRG)开发。
雪梦科技
2020/05/11
2.2K0
如何在 CentOS 8 上使用 Let's Encrypt 保护 Nginx
在CentOS Linux 7.5上使用Let’s Encrypt以保护Nginx
Let's Encrypt是由互联网安全研究组(ISRG)开发的免费开放认证机构。 Let's Encrypt颁发的证书现在几乎所有浏览器都信任。
星哥玩云
2022/07/13
1.9K0
在CentOS Linux 7.5上使用Let’s Encrypt以保护Nginx
使用 Certbot 配置 HTTPS,让你的网站不再裸奔
不错,今天的主角就是给力的 Certbot,免费好用,真是我等 diaosi 的一大福音。
周萝卜
2019/07/23
1.4K0
使用 Certbot 配置 HTTPS,让你的网站不再裸奔
手把手教你免费申请支持通配符的 SSL 证书
得益于 Google 等大厂的消灭 HTTP 运动和 Let’s Encrypt 非盈利组织的努力,越来越多的站点开始迁移到 HTTPS,下图是 Let’s Encrypt 的统计数据。
iMike
2019/07/30
7.1K0
Linux 下 Nginx 安装部署 Let’s Encrypt 证书实现 HTTPS
网站转成https是大势所趋。但是在国内,推进的过程显然要比国外慢很多。现阶段如果将自己的网站改成https以后,会碰到这样的尴尬现象:如果在页面上引用了http://的链接或者图片,用户在浏览器上会看到类似该网站是非安全网站的警告,对于网站运营者来说可以说非常冤。由于很多链接是第三方的,没有办法去控制。
星哥玩云
2022/07/14
3.4K0
Linux  下 Nginx 安装部署 Let’s Encrypt 证书实现 HTTPS
获取Let's Encrypt免费TLS/SSL证书的那点事儿
Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。 -- 引自维基百科
用户1456517
2019/03/05
1.6K0
网络集群节点自动切换nginx负载均衡,自动生成nginx配置文件。小绿叶技术博客--中央集成--外层公共能源控制系统--集群网络节点控制--主驱动
eisc
2025/05/07
1220
Docker获取Let`s Encrypt SSL 证书
为了方便维护、升级,同时也避免破坏本地的开发环境,我这里使用docker方式来运行certbot。整个过程分为两步:首次申请证书和证书更新。
孟斯特
2023/11/15
8820
使用acme.sh申请Let's Encrypt免费的SSL证书
acme.sh 实现了 acme 协议,可以从letsencrypt生成免费的证书。接下来将为大家介绍怎样申请Let's Encrypt通配符证书。
青阳
2021/09/15
6K4
CentOS7中Nginx免费开启https
名词解释 HTTPS(超文本传输安全协议)是一种互联网通信协议,可保护用户计算机与网站之间传输的数据的完整性和机密性。用户在访问网站时都希望获得安全私密的在线体验。 Lets Encrypt 是由 Internet Security Research Group (ISRG) 开发的免费开放的证书颁发机构。Lets Encrypt 颁发的证书如今几乎得到所有浏览器的信任。 前提条件 你有一个指向你的公共服务器 IP 的域名。在本教程中,我们将使用rumenz.com. 你已经安装 Nginx 安装Certb
玖柒的小窝
2021/10/21
7090
CentOS7中Nginx免费开启https
博客搭建(三):域名配置及SSL证书配置
> 现在大多数网站都支持 https 连接,而且 chrome 浏览器要求网站必须提供 https 连接,否则会提示警告(此网站不安全),所以说以后网站支持 https 连接是必不可少的。
子晋
2022/01/18
8980
部署sekiro并升级为HTTPS
第一代sekiro从2019年开发,自2021年4月终止开发,由于早期代码有太多底层架构方面的问题。故2021年进行了彻底的重构,并且本次重构试一次完全不兼容的重构。
新码农
2023/10/18
5530
推荐阅读
相关推荐
使用Let's Encrypt的SSL证书配置HTTPS手记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档