概览
ARTalkKit 类是 anyRTC 云平台 RTK SDK 的入口,提供所有可供 App 调用的核心方法。
talkDelegate
@property (nonatomic, weak, nullable) id<ARTalkDelegate> talkDelegate;
talkDelegate 接口类向 App 发送回调通知,上报运行时的事件。
initWithAppId
- (instancetype _Nullable)initWithAppId:(NSString * _Nonnull)appId
delegate:(id <ARTalkDelegate> _Nullable)delegate;
创建并初始化一个 ARTalkKit 实例
参数 | 描述 |
---|---|
appId | 如果你的开发包里没有 App ID,请向anyRTC 云平台申请一个新的 App ID。 |
delegate | ARTalkDelegate 向 App 发送回调通知,上报anyRTC 云平台对讲 SDK 运行时的事件。 |
返回值
调用成功:一个 ARTalkKit 实例。调用失败:nil。可能是因为 appId 的长度不是 32 个字符。
destroy
- (void)destroy;
释放当前 ARTalkKit 实例使用的所有资源
loginByToken
- (void)loginByToken:(NSString * _Nullable)token
user:(NSString * _Nonnull)uid
completion:(ARTalkLoginBlock _Nullable)completionBlock;
登录 anyRTC 云平台对讲系统
参数 | 描述 |
---|---|
token | 用于登录 anyRTC 云平台对讲系统的动态密钥。开启动态鉴权后可用。集成及测试阶段请将 token 设置为 nil 。 |
uid | 登录 anyRTC 云平台对讲系统的用户 ID。 uid 必须为不超过 64 字节的字符串。请不要将 uid 设为空、 nil 或 “null"。 |
completionBlock | ARTalkLoginBlock回调返回登录结果。错误码详见 ARTalkLoginBlock 。 |
返回值
0方法调用成功,<0方法调用失败。
logoutWithCompletion
- (void)logoutWithCompletion:(ARTalkLogoutBlock _Nullable )completionBlock;
登出 anyRTC 云平台对讲系统
- 如果此方法调用成功,本地用户收到 ARTalkLogoutBlock 和 connectionStateChanged 回调,连接状态变为 ARTalkConnectionStateDisconnected。
- 如果此方法调用失败,本地用户收到 ARTalkLogoutBlock 回调。
参数
参数 | 描述 |
---|---|
completionBlock | ARTalkLogoutBlock 回调返回登出结果。错误码详见 ARTalkLogoutErrorCode 。 |
renewToken
- (int)renewToken:(NSString * _Nonnull)token completion:(ARTalkRenewTokenBlock _Nullable)completionBlock;
更新当前的对讲 Token
在收到 talkKitTokenPrivilegeWillExpire 回调时你需要调用此方法更新 Token。 ARTalkRenewTokenBlock 回调会返回 Token 更新的结果。该方法的调用频率为 2 次/秒。
参数 | 描述 |
---|---|
token | 新的对讲 Token。 |
completionBlock | ARTalkRenewTokenBlock 回调返回更新当前 Token 的结果。 |
setAudioEncodeParameter
- (int)setAudioEncodeParameter:(ARTalkAduioCodecType)type sampleRate:(ARTalkAduioSampleRateType)rate channels:(int)channel;
音频编码参数接口
参数 | 描述 |
---|---|
type | 音频编解码器类型列表 |
rate | 音频采样率 |
channel | 通道数 |
setDefaultPushAudioQuality
- (int)setDefaultPushAudioQuality:(int)nQuality;
设置默认推送音频质量
参数 | 描述 |
---|---|
nQuality | 1-5 低,中,高,超高,HD,默认为1 |
返回值
0方法调用成功,小于0方法调用失败。
setDefaultPullAudioQuality
- (int)setDefaultPullAudioQuality:(int)nQuality;
设置默认拉取音频质量
参数 | 描述 |
---|---|
nQuality | 1-5 低,中,高,超高,HD,默认为1 |
返回值
0方法调用成功,小于0方法调用失败。
enableAudioCapture
- (int)enableAudioCapture:(BOOL)enable;
打开/关闭音频采集模块接口
参数 | 描述 |
---|---|
enable | YES 打开,NO 关闭 |
返回值
0方法调用成功,小于0方法调用失败。
enableLocalAudioRecord
- (int)enableLocalAudioRecord:(BOOL)enable path:(NSString * _Nonnull)filePath;
开关音频录制模块
参数 | 描述 |
---|---|
enable | YES 打开,NO 关闭。 |
filePath | 路径。 |
返回值
0方法调用成功,小于0方法调用失败。
enableLocalMicDataCallback
- (int)enableLocalMicDataCallback:(BOOL)enable;
开关本地录音音频数据回调
参数 | 描述 |
---|---|
enable | YES 打开,NO关闭 |
返回值
0方法调用成功,小于0方法调用失败。
enableLocalSpeakerDataCallback
- (int)enableLocalSpeakerDataCallback:(BOOL)enable channelId:(NSString * _Nonnull)channelId;
开关指定频道远程对讲音频数据回调
参数 | 描述 |
---|---|
enable | YES 打开,NO 关闭 |
channelId | 频道 ID |
返回值
0方法调用成功,小于0方法调用失败。
setPushAudioVolume
- (int)setPushAudioVolume:(int)volume;
设置推送音量
参数 | 描述 |
---|---|
volume | 音量 [0 , 400] |
返回值
0方法调用成功,小于0方法调用失败。
setPlayAudioVolume
- (int)setPlayAudioVolume:(int)volume;
设置播放音量
参数 | 描述 |
---|---|
volume | 音量 [0 , 400] |
返回值
0方法调用成功,小于0方法调用失败。
setParameters
- (int)setParameters:(NSString * _Nonnull)parameters;
通过 JSON 配置 SDK 提供技术预览或特别定制功能
参数 | 描述 |
---|---|
parameters | JSON 格式的 SDK 选项。 |
返回值
0方法调用成功,小于0方法调用失败。
createChannelWithId
- (ARTalkChannel * _Nullable)createChannelWithId:(NSString * _Nonnull)channelId
delegate:(id <ARTalkChannelDelegate> _Nullable)delegate;
创建一个 anyRTC 云平台对讲频道
参数 | 描述 |
---|---|
channelId | 标识 anyRTC 云平台对讲通话的频道名称。channelId 必须为不超过 64 字节的字符串,不能为空、nil,或设为 “null"。 |
delegate | ARTalkChannelDelegate 接口类向 App 发送回调通知,上报运行时的频道相关事件 |
releaseChannelWithId
- (BOOL)releaseChannelWithId: (NSString * _Nonnull)channelId;
释放一个 ARTalkChannel 本地频道占用的所有资源
参数 | 描述 |
---|---|
channelId | 待释放的频道实例的 ID。 |
setLogFile
- (int)setLogFile:(NSString * _Nonnull)logFile;
设置日志文件路径
设置 SDK 的输出 log 文件。SDK 运行时产生的所有 log 将写入该文件。 App 必须保证指定的目录存在而且可写。
参数 | 描述 |
---|---|
logFile | 日志文件的完整路径。该日志文件为 UTF-8 编码。 |
注意事项:
- 日志文件的默认地址如下:
- iOS:
App Sandbox/Library/caches/ar_rtk_sdk.log
- macOS
- 开启沙盒:
App Sandbox/Library/Logs/ar_rtk_sdk.log
, 例如/Users/<username>/Library/Containers/<App Bundle Identifier>/Data/Library/Logs/ar_rtk_sdk.log
.- 关闭沙盒:
~/Library/Logs/ar_rtk_sdk.log
.- 如需调用本方法,请在调用 initWithAppId 方法初始化 ARTalkKit 对象后立即调用,否则可能造成输出日志不完整。
返回值
0方法调用成功,<0方法调用失败。
setLogFileSize
- (int)setLogFileSize:(int)fileSize;
设置日志文件大小
设置 SDK 输出的日志文件大小,单位为 KB。
SDK 设有 2 个日志文件,每个文件大小为 512 KB。如果你将 fileSize 设置为 1024 KB, SDK 会最多输出 2 MB 的日志文件。如果日志文件大小超出设置值,新的日志会覆盖之前的日志。
参数 | 描述 |
---|---|
fileSize | 指定 SDK 输出日志文件的内存大小,单位为 KB |
返回值
0方法调用成功,<0方法调用失败。
setLogFilters
- (int)setLogFilters:(ARTalkLogFilter)filter;
设置日志输出等级
参数 | 描述 |
---|---|
filter | 日志输出等级,详见ARTalkLogFilter。 |
返回值
0方法调用成功,<0方法调用失败。
getSDKVersion
+ (NSString *_Nonnull)getSDKVersion;
查询 SDK 版本号
返回值
当前的对讲 SDK 版本号,格式为字符串,如 1.0.0.0