ARTalkKit

最近更新时间:2023-02-21 10:39:53

概览

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。
delegateARTalkDelegate 向 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"。
completionBlockARTalkLoginBlock回调返回登录结果。错误码详见 ARTalkLoginBlock

返回值

0方法调用成功,<0方法调用失败。

logoutWithCompletion

- (void)logoutWithCompletion:(ARTalkLogoutBlock _Nullable )completionBlock;

登出 anyRTC 云平台对讲系统

参数

参数描述
completionBlockARTalkLogoutBlock 回调返回登出结果。错误码详见 ARTalkLogoutErrorCode

renewToken

- (int)renewToken:(NSString * _Nonnull)token completion:(ARTalkRenewTokenBlock _Nullable)completionBlock;

更新当前的对讲 Token

在收到 talkKitTokenPrivilegeWillExpire 回调时你需要调用此方法更新 Token。 ARTalkRenewTokenBlock 回调会返回 Token 更新的结果。该方法的调用频率为 2 次/秒。

参数描述
token新的对讲 Token。
completionBlockARTalkRenewTokenBlock 回调返回更新当前 Token 的结果。

setAudioEncodeParameter

- (int)setAudioEncodeParameter:(ARTalkAduioCodecType)type sampleRate:(ARTalkAduioSampleRateType)rate channels:(int)channel;

音频编码参数接口

参数描述
type音频编解码器类型列表
rate音频采样率
channel通道数

setDefaultPushAudioQuality

- (int)setDefaultPushAudioQuality:(int)nQuality;

设置默认推送音频质量

参数描述
nQuality1-5 低,中,高,超高,HD,默认为1

返回值

0方法调用成功,小于0方法调用失败。

setDefaultPullAudioQuality

- (int)setDefaultPullAudioQuality:(int)nQuality;

设置默认拉取音频质量

参数描述
nQuality1-5 低,中,高,超高,HD,默认为1

返回值

0方法调用成功,小于0方法调用失败。

enableAudioCapture

- (int)enableAudioCapture:(BOOL)enable;

打开/关闭音频采集模块接口

参数描述
enableYES 打开,NO 关闭

返回值

0方法调用成功,小于0方法调用失败。

enableLocalAudioRecord

- (int)enableLocalAudioRecord:(BOOL)enable path:(NSString * _Nonnull)filePath;

开关音频录制模块

参数描述
enableYES 打开,NO 关闭。
filePath路径。

返回值

0方法调用成功,小于0方法调用失败。

enableLocalMicDataCallback

- (int)enableLocalMicDataCallback:(BOOL)enable;

开关本地录音音频数据回调

参数描述
enableYES 打开,NO关闭

返回值

0方法调用成功,小于0方法调用失败。

enableLocalSpeakerDataCallback

- (int)enableLocalSpeakerDataCallback:(BOOL)enable channelId:(NSString * _Nonnull)channelId;

开关指定频道远程对讲音频数据回调

参数描述
enableYES 打开,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 提供技术预览或特别定制功能

参数描述
parametersJSON 格式的 SDK 选项。

返回值

0方法调用成功,小于0方法调用失败。

createChannelWithId

- (ARTalkChannel * _Nullable)createChannelWithId:(NSString * _Nonnull)channelId
                                    delegate:(id <ARTalkChannelDelegate> _Nullable)delegate;

创建一个 anyRTC 云平台对讲频道

参数描述
channelId标识 anyRTC 云平台对讲通话的频道名称。channelId 必须为不超过 64 字节的字符串,不能为空、nil,或设为 “null"。
delegateARTalkChannelDelegate 接口类向 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