Agora SDK使用小结

1.注册声网账号,创建应用,获取APPID

2.导入头文件

#import

3.初始化 创建或加入频道

@interface ADViewController ()

@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 回调。

5.API汇总

(https://docs.agora.io/cn/Audio%20Broadcast/API%20Reference/oc/docs/headers/Agora-Objective-C-API-Overview.html)

// 不论是歌手房还是普通语聊房下面两行配置都加上;
    [self.agoraKit setParameters:@"{\"che.audio.bitrate.force\":128000}"];
    [self.agoraKit setParameters:@"{\"che.audio.specify.codec\":\"HEAAC_2ch\"}"];
if (// 对于歌手房,因为有声卡,需要关闭3A) {
    
    [self.agoraKit setParameters:@"{\"che.audio.enable.aec\":false}"];
    [self.agoraKit setParameters:@"{\"che.audio.enable.agc\":false}"];
    [self.agoraKit setParameters:@"{\"che.audio.enable.ns\":false}"];
}

你可能感兴趣的:(Agora SDK使用小结)