语音直播场景的典型使用案例是同一房间内的成员,进行语音直播,有需要时也可进行实时语音通话。Zego 提供了对语音直播场景的支持,此文讲述如何在iOS环境下利用即构SDK快速实现语音直播功能。

实现播放本地音频、视频文件的功能(可用于播放背景音乐,播放MV,播放直播音效等场景),请下载 ZegoAudioRoom_MediaPlayer iOS,接入请参考:SDK集成指引。

功能实现流程

语音直播场景的使用场景主要有 2 种,在同一语音直播间内:

1、单主播语音直播,1 个主播发布语音,观众播放语音。

2、多主播语音直播,主播与观众连麦,进行实时语音互动。

以 2 人间的语音直播为例,流程如下:

1、单主播语音直播

单主播直播时,一个房间内仅有一个主播,不支持主播与观众的连麦互动。

请注意,下列操作前,请确保各成员均登录至同一房间。

1.1 主播推流

房间内成员均可推流,发布直播。语音直播场景下,发布直播应该使用手动发布:

请注意:

如果用户选择自动发布直播,登录成功后,SDK 会自动开始推流,用户无需手动触发。

AudioLive 中手动发布直播相关源码片段演示如下,仅供参考:

ZegoAudioLiveViewController.m// 用户主动点击发布直播按钮
- (IBAction)onPublishButton:(id)sender
{if (self.isPublished){// 停止直播[[ZegoAudioLive api] stopPublish];[self.publishButton setTitle:NSLocalizedString(@"开始直播", nil) forState:UIControlStateNormal];self.isPublished = NO;// 删除流for (ZegoAudioStream *audioStream in self.streamList){if ([audioStream.userID isEqualToString:[ZegoSettings sharedInstance].userID]){[self.streamList removeObject:audioStream];break;}}[self.tableView reloadData];}else{// 手动发布直播BOOL result = [[ZegoAudioLive api] startPublish];if (result == NO){self.tipsLabel.text = NSLocalizedString(@"开播失败,直播流超过上限", nil);}else{[self.publishButton setTitle:NSLocalizedString(@"停止直播", nil) forState:UIControlStateNormal];self.publishButton.enabled = NO;}}
}

1.2 观众拉流

房间内成员均可播放直播,登录房间成功后,SDK 会自动拉流播放直播。用户无需手动触发拉流。

1.3 结束音频直播

音频通话结束后的操作主要是登出房间、清理视图或数据等。开发者可按需调用。

AudioLive 中结束音频直播相关源码片段演示如下,仅供参考:

ZegoAudioLiveViewController.m// 关闭语音直播通话 ViewController
- (IBAction)closeView:(id)sender
{// 退出房间[[ZegoAudioLive api] logoutRoom];[self.streamList removeAllObjects];[self dismissViewControllerAnimated:YES completion:nil];
}

2、多主播语音直播

多主播直播是主播与观众连麦,使观众也成为主播的互动功能,类似实时语音功能。

多主播直播的推流、拉流流程,同单主播一致,不再赘述。

但多主播比单主播多了一个信令交互的过程。开发者可以通过该过程,设计逻辑,决定是否允许房间内拉流的成员推流,成为主播。该信令交互由开发自行实现,SDK 仅提供推拉流的能力。

请注意,AudioLive 中没有使用信令交互决定其他用户是否可以推流。用户进入房间即可自动或手动推流。

iOS语音直播SDK及功能实现流程相关推荐

  1. Android语音直播SDK

    本文讲述如何在Android环境下集成即构语音直播SDK,实现同一房间内的成员进行语音直播,有需要时也可进行实时语音通话. 请从 ZegoAudioRoom iOS 下载 SDK.如果要实现播放本地音 ...

  2. ios视频直播SDK集成指引

    此文介绍语音视频云服务商即构科技提供的ios视频直播SDK集成指引.此SDK可实现主播和观众以一对一.一对多.或多对多的关系等,并支持小程序. 手动安装 目前 ZegoLiveRoom SDK 仅支持 ...

  3. iOS语音通话SDK集成指引(实时语音通话一)

    语音通话是通过语音并借助传输媒介的沟通方式.本系列文章将会介绍如何从零开始用即构科技音视频SDK实现双人至百万人语音通话.第一篇讲述iOS语音通话SDK集成指引. 1.准备环境 请确保开发环境满足以下 ...

  4. Android游戏语音SDK及功能实现流程

    在上一篇文章中我们介绍了在iOS环境下如何利用即构游戏语音SDK快速实现实时语音对话功能.今天我们继续讲在Android环境下用SDK在游戏过程中,实现同一房间内的成员,进行实时语音对话的功能. 下载 ...

  5. 云直播SDK核心功能对比|腾讯云、阿里云、声网、即构等SDK厂商对比

    直播业务概述 大家所熟知的直播平台虎牙.斗鱼.快手.抖音.B站,直播功能看似普遍,但从零到一开发却不简单.直播中运用到的技术难点非常之多,音频视频处理/编解码,前后处理,直播分发,即时通讯等技术,学好 ...

  6. ios开发 多人语音聊天_iOS语音通话功能实现流程(实时语音通话二)

    上一篇我们讲述了iOS语音通话SDK集成指引,今天就来看下iOS下实时语音通话功能实现的流程.实时语音场景的典型之一是同一会话中的成员进行实时语音对话. 以 2 人间的实时语音为例,主要流程如下: 请 ...

  7. iOS语音通话功能实现流程(实时语音通话二)

    上一篇我们讲述了iOS语音通话SDK集成指引,今天就来看下iOS下实时语音通话功能实现的流程.实时语音场景的典型之一是同一会话中的成员进行实时语音对话. 以 2 人间的实时语音为例,主要流程如下: 请 ...

  8. php语音直播怎么做,语音直播功能实现流程

    功能实现流程 语音直播场景的使用场景主要有 2 种,在同一语音直播间内: 单主播语音直播,1 个主播发布语音,观众播放语音. 多主播语音直播,主播与观众连麦,进行实时语音互动. 以 2 人间的语音直播 ...

  9. iOS 腾讯云移动直播SDK对接(一)

    在考虑自己的需求是不是合适腾讯直播的时候,可以先注册一个腾讯云账号,在腾讯云产品中选择云直播,开通服务并进入云直播产品控制台,新用户免费赠送20G的测试流量,可以让你测试是否适合使用. 正式使用流程: ...

最新文章

  1. Caffe源码中各种依赖库的作用及简单使用
  2. PHP把下划线分隔命名的字符串 转换成驼峰式命名方式
  3. 1024我摊牌了,谈谈自己2020剩余两月的学习计划
  4. 使用pandas进行量化回测(akshare)
  5. 【HTML+CSS网页设计与布局 从入门到精通】第5章-表格
  6. postman 指定响应格式_牛鹭学院:Postman接口测试方法,新手必看!
  7. RocketMQ延迟消息的底层实现源码解析
  8. GISAXS和GIWAXS的分析
  9. SAS安装过程中出现unknow等或没有生成ip地址问题的解决办法
  10. python数据分析与应用-Python数据分析与应用 PDF 内部全资料版
  11. U盘插入电脑有提示声,不识别(不显示大容量存储设备)
  12. 【深度学习】史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)...
  13. Jaspersoft Studio 报表模板设计
  14. 打码,需要一个好的键盘
  15. redis主从+哨兵
  16. 离线安装Python软件包的方法
  17. 微信小程序(应用号)实战课程之记账软件开发
  18. python生成漂亮桌面背景心灵鸡汤可每日学英语
  19. Baidu KDD Cup 2022 官方赛题解读,内附 Baseline 开源代码
  20. python组件化软件github_GitHub - cqingt/wepy: 小程序组件化开发框架

热门文章

  1. 【转】怎样申请免费空间和一级域名
  2. 团队-排课软件-需求分析
  3. 推荐优秀的开源GIS软件
  4. Linux设备驱动程序学习(十)——PCI驱动程序
  5. Win10夜间模式无效
  6. 电机驱控芯片:TMC5160介绍与使用
  7. office结课总结报告
  8. 美国计算机专业硕士排名,US News美国计算机专业硕士排名
  9. graph Laplacian 拉普拉斯矩阵
  10. 中兴2019年度财报:“重大事项”之后经营状况如何?