Agora SDK使用小结

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

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}"];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容