1.注册声网账号,创建应用,获取APPID
2.导入头文件
#import <AgoraRtcEngineKit/AgoraRtcEngineKit.h>
3.初始化 创建或加入频道
@interface ADViewController ()<AgoraRtcEngineDelegate>
@property (nonatomic, strong) AgoraRtcEngineKit * agoraKit;//
@end
self.agoraKit = [AgoraRtcEngineKit sharedEngineWithAppId:AgoraAppID delegate:self];
[self.agoraKit setChannelProfile:AgoraChannelProfileLiveBroadcasting];//设置频道配置
[self.agoraKit setClientRole:AgoraClientRoleBroadcaster];//设置角色
[self.agoraKit joinChannelByToken:nil channelId:@"demoChannel1" info:nil uid:0 joinSuccess:^(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed) {
}];
AgoraClientRoleBroadcaster
主播:可以收听和发布音视频消息。根据应用程序的实现,还可以与观众互动、指定观众连麦。同一直播频道内,主播只能听到和看到自己以及连麦主播的音视频。
AgoraClientRoleAudience
观众:只能收听主播的音视频消息。根据应用程序的实现,还可以发布实时文字消息,与主播互动。同一直播频道内,所有观众都能听到和看到主播以及连麦主播的音视频。
[self.agoraKit setClientRole:AgoraClientRoleBroadcaster];//设置角色
该方法在加入频道前后都可以调用:
加入直播频道前,调用该方法将用户设置为主播或观众。
直播过程中,调用该方法将用户角色由观众切换为主播(上麦),或由主播切换为观众。
4.离开频道
leaveChannel
不论当前是否还在直播频道中,调用该方法会把直播相关的所有资源释放掉。真正退出频道后,SDK 会触发 didLeaveChannelWithStats 回调。
如果在调用 leaveChannel 方法后立即使用 destroy ,则退出频道会被打断,SDK 也不会触发 didLeaveChannelWithStats 回调。
网友评论