您可以阅读本文,了解iOS端的集成操作。
前提条件
开发前的环境要求如下表所示。
类别 | 说明 |
---|---|
系统版本 | 支持iOS 10.0及以上。 |
Xcode版本支持 | 支持Xcode 9.0及以上。 |
您需要集成并启动服务端,具体操作,请参见服务端集成。
Demo运行指引
从GitHub下载Demo源代码,iOS端代码目录结构如下。
终端命令行执行
pod install
,安装Masonry库,生成workspace文件。在Xcode打开iOS端工程,双击打开当前目录下的
AliInteractiveRoomDemo.xcodeproj
文件。修改配置文件。
打开
AIRBDEnvironments.m
文件。修改如下参数,配置为自己应用的对应内容。
@property (copy, nonatomic) NSString* interactiveLiveRoomAppID; // 在低代码音视频工厂的产品控制台上开通应用后获得 @property (copy, nonatomic) NSString* interactiveLiveRoomAppKey; // 在低代码音视频工厂的产品控制台上开通应用后获得 @property (copy, nonatomic) NSString* appServerHost; // 业务方自己的AppServer域名 @property (copy, nonatomic) NSString* signSecret; // 业务方自定义的加签Secret
选择一台已连接的真机设备。
说明暂不支持使用模拟器运行互动直播间Demo。
使用数据线连接一台iOS真机设备与电脑。iOS真机设备需在系统设置中开启开发者模式和USB调试功能。在移动端确认同意调试后,在Xcode中选择接入的真机设备。
在Sign & Capabilities选项卡,勾选Automatically manage signing,在下方选择自己的Team。
首次在手机上安装运行,需要在iOS设备的设置 > 通用 >设备管理中选择信任当前开发者账号。
Demo源码解析
直播开始前的全局初始化配置
首先,配置config后启动AIRBRoomEngine,代码如下:
[[AIRBRoomEngine sharedInstance] setDelegate:self]; [[AIRBRoomEngine sharedInstance] globalSetupOnceWithConfig:_config];
AIRBRoomEngine启动成功后,会收到AIRBRoomEngineEventEngineStarted事件,然后进行登录,代码如下:
[[AIRBRoomEngine sharedInstance] loginWithUserID:self.userID];
登录成功后,会收到AIRBRoomEngineEventEngineLogined事件,然后通过roomID就可以得到一个AIRBRoomChannel实例对象,代码如下:
self.room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:self.roomID];
进入直播间(AIRBRoomChannel)
创建AIRBRoomChannel实例后,需要设置delegate,然后enterroom即可,代码如下:
self.room.delegate = self; [self.room enterRoom];
进入直播间成功后,会收到AIRBRoomChannelRoomEventEntered事件,这个时候才能进行直播间内的活动,比如直播推流、直播观看、互动聊天等;
也可以退出直播间,代码如下:
[self.room leaveRoom];//退出直播间
创建直播推流
在进入直播间后,创建直播推流模块逻辑如下:
AIRBLivePusherOptions* options = [AIRBLivePusherOptions defaultOptions]; options.faceBeautyOptions.beautyMode = AIRBLivePushBeautyModeProfessional; [self.room createLivePusherWithOptions:options];
创建成功后,会收到AIRBRoomChannelLivePusherEventCreated,这个时候预览画面就会启动。可以通过pusherView接口获取这个预览的view并添加到父view上,代码如下:
[self addSubview:[self.room pusherView]];
此时,仅完成了直播推流引擎的初始化,要真正开始直播推流,还需要调用以下接口:
[self.room startLivePusher];
还可以暂停推流。
[self.room pauseLivePusher];
暂停后也可以恢复推流。
[self.room resumeLivePusher];
结束推流。
[self.room stopLivePusher];
创建直播观看
对于观众来说,进入直播间成功后,可以选择创建直播播放器来看直播,代码如下,画面会自动打开:
[self.room createAndStartLivePlayer];
启动成功后会收到AIRBRoomChannelLivePlayerEventStarted事件,这个时候可以通过playerView接口获取播放器view,并按需添加作为用户view的子view使用,代码如下:
[self addSubview:[self.room playerView]];
停止观看直播时调用以下逻辑:
[self.room stopLivePlayer];
直播间内发送消息
对于直播间内的参与者,都可以通过以下接口发送消息:
- (void) sendMessage:(NSString*)message onSuccess:(void (^)(void))onSuccess onFailure:(void (^)(NSString* errorMessage))onFailure;
也可以通过以下接口发送点赞动作:
- (void) sendLikeWithCount:(int32_t)count onSuccess:(void (^)(void))onSuccess onFailure:(void (^)(NSString* errorMessage))onFailure;
- 本页导读 (1)