Public 成员函数 | |
---|---|
virtual int | initialize (const char *appId, IRtkServiceEventHandler *eventHandler)=0 |
virtual void | release (bool sync=false)=0 |
virtual int | login (const char *token, const char *userId)=0 |
virtual int | logout ()=0 |
virtual int | renewToken (const char *token)=0 |
virtual int | setAudioEncodeParameter (AUDIO_CODEC_TYPE nCodecId, AUDIO_SAMPLE_RATE_TYPE sampleRate, int nChannels)=0 |
virtual int | setDefaultPushAudioQuality (int nQuality)=0 |
virtual int | setDefaultPullAudioQuality (int nQuality)=0 |
virtual int | enableAudioCapture (bool bEnable)=0 |
virtual int | enableLocalAudioRecord (bool bEnable, const char*strFilePath)=0 |
virtual int | enableLocalMicDataCallback (bool bEnable)=0 |
virtual int | enableLocalSpeakerDataCallback (bool bEnable, const char*strChanId)=0 |
virtual int | enableAiDenoise (bool bEnable)=0 |
virtual int | enableAudio3A (bool bEnable)=0 |
virtual int | setParameters (const char *parameters)=0 |
virtual IChannel * | createChannel (const char *channelId,IChannelEventHandler *eventHandler )=0 |
virtual int | setPushAudioVolume (int nVolume)=0 |
virtual int | setPlayAudioVolume (int nVolume)=0 |
virtual int | setExternalAudioSource (bool enabled, int sampleRate, int channels)=0 |
virtual int | setExternalAudioSink (bool enabled, int sampleRate, int channels)=0 |
virtual int | pushAudioFrame ([ARK::IAudioFrameObserver::AudioFrame](win_iaudioframeobserver_class* frame)=0 |
virtual int | pullAudioFrame (ARK::IAudioFrameObserver::AudioFrame* frame)=0 |
virtual int | setLogFile (const char *logfile)=0 |
virtual int | setLogFilter (LOG_FILTER_TYPE filter)=0 |
virtual int | setLogFileSize (int fileSizeInKBytes)=0 |
Protected 成员函数 | |
---|---|
virtual | ~IRtkService () |
构造及析构函数说明
~IRtkService
virtual ~IRtkService()
成员函数说明
createChannel
virtual IChannel * createChannel(const char *channelId, IChannelEventHandler *eventHandler)
创建一个 anyRTC RTK 频道
参数
参数 | 说明 |
---|---|
channelId | anyRTC RTK 频道名称。该字符串不可超过 64 字节。不可设为空、null 或 "null"。以下为支持的字符集范围: |
eventHandler | 详见 IChannelEventHandler。 |
返回
- 一个 IChannel 对象: 方法调用成功。
- null: 方法调用失败。channelId 可能无效,或者已经存在具有相同 channelId 的频道。
注意事项:
- 一个 IRtkService 实例中可以创建多个频道。但是同一个用户只能同时加入最多 20 个频道。请在不使用某个频道时,调用 release 方法销毁频道实例。
initialize
virtual int initialize(const char *appId, IRtkServiceEventHandler *eventHandler)
IRtkService 实例
初始化一个IRtkService 类中的所有方法都是异步执行的。
参数
参数 | 说明 |
---|---|
appId | anyRTC 发给你的 App ID。 如果 SDK 中缺少 App ID,请从 anyRTC 申请新的 App ID。 |
eventHandler | 一个 IRtkServiceEventHandler 对象,用于上传 anyRTC RTK SDK 运行事件给应用程序。 |
返回
- 0: 方法调用成功。
- < 0: 方法调用失败。
login
virtual int login(const char *token, const char *userId)
登录 anyRTC RTK 系统
- 方法调用成功:本地用户收到回调 onLoginSuccess。
- 方法调用失败:本地用户收到回调 onLoginFailure。错误码详见 LOGIN_ERR_CODE。
参数
参数 | 说明 |
---|---|
token | 用于登录 anyRTC RTK 系统的动态密钥。开启动态鉴权后可用。集成及测试阶段请将 token 设置为 null。 |
userId | 登录 anyRTC RTK 系统的用户 ID。该字符串不可超过 64 字节。不可设为空、null 或 "null"。以下为支持的字符集范围: |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。错误码详见 LOGIN_ERR_CODE 。
注意事项:
- 异地登录后之前的状态(目前主要是加入的频道)不会保留。
- 如果你在不同实例中以相同用户 ID 登录,之前的登录将会失效,你会被踢出之前加入的频道。
- 只有在调用本方法成功加入频道后(即:当收到 onLoginSuccess 回调时)才可以调用 RTK 的核心业务逻辑。
logout
virtual int logout()
登出 anyRTC RTK 系统
本地用户收到回调 onLogout。 状态信息详见 LOGIN_ERR_CODE。
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。错误码详见 LOGIN_ERR_CODE 。
release
virtual void release(bool sync = false)
IRtkService 实例使用的所有资源。
释放当前renewToken
virtual int renewToken(const char* token)
更新当前的 RTK Token
在收到 onTokenWillExpired 回调时你需要调用此方法更新 Token。 onRenewTokenResult 回调会返回 Token 更新的结果。该方法的调用频率为 2 次每秒。
参数
参数 | 说明 |
---|---|
token | 新的 RTK Token |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 RENEW_TOKEN_ERR_CODE 。
setAudioEncodeParameter
virtual int setAudioEncodeParameter(AUDIO_CODEC_TYPE nCodecId, AUDIO_SAMPLE_RATE_TYPE sampleRate, int nChannels)
设置音频编码属性
参数
参数 | 说明 |
---|---|
nCodecId | 音频编码类型,详见 AUDIO_CODEC_TYPE。 |
sampleRate | 音频采样率,详见 AUDIO_SAMPLE_RATE_TYPE。 |
nChannels | 声道 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
setDefaultPushAudioQuality
virtual int setDefaultPushAudioQuality(int nQuality)
设置默认推流音频质量
参数
参数 | 说明 |
---|---|
nQuality | 音频质量等级,默认中(1-5 低,中,高,超高,HD) |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
setDefaultPullAudioQuality
virtual int setDefaultPullAudioQuality(int nQuality)
设置默认拉流音频质量
参数
参数 | 说明 |
---|---|
nQuality | 音频质量等级,默认中(1-5 低,中,高,超高,HD) |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
enableAudioCapture
virtual int enableAudioCapture(bool bEnable)
开关音频采集模块
参数
参数 | 说明 |
---|---|
bEnable | 设置true:打开音频采集模块,设置false,关闭音频采集模块 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
上麦前必须先打开音频采集模块,才能上麦成功
enableLocalAudioRecord
virtual int enableLocalAudioRecord(bool bEnable, const char*strFilePath)
开关音频录制模块
参数
参数 | 说明 |
---|---|
bEnable | 设置true:打开音频录音模块,设置false,关闭音频录音模块 |
strFilePath | 录音路径 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
打开录制前必须先打开音频采集并申请上麦,才会有录音文件。 下麦、断网、被打断,如果之前设置了录制,会自动结束本地录制。
enableLocalMicDataCallback
virtual int enableLocalMicDataCallback(bool bEnable)
开关本地录音音频数据回调
根据回调的本地录音的音频数据,可以进行语音转文字,对声音进行分析等。
参数
参数 | 说明 |
---|---|
bEnable | 设置true:打开本地录音音频数据回调,设置false,关闭本地录音音频数据回调 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
enableLocalSpeakerDataCallback
virtual int enableLocalSpeakerDataCallback(bool bEnable,const char*strChanId)
开关远程音频数据回调
根据回调的其他人的音频数据,可以进行语音转文字,对声音进行分析等。
参数
参数 | 说明 |
---|---|
bEnable | 设置true:打开其他人上麦音频数据回调,设置false,关闭其他人上麦音频数据回调 |
strChanId | 频道号 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
enableAiDenoise
virtual int enableAiDenoise(bool bEnable)
开关 AI 降噪
RTK SDK 默认关闭了AI降噪,根据自身场景可动态开关 AI 降噪
参数
参数 | 说明 |
---|---|
bEnable | 设置true:打开 AI 降噪,设置false,关闭 AI 降噪 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
enableAudio3A
virtual int enableAudio3A(bool bEnable)
开关音频 3A 功能
RTK SDK 默认关闭了音频 3A 功能,根据自身场景可动态开关音频3A功能
参数
参数 | 说明 |
---|---|
bEnable | 设置true:打开音频3A,设置false,关闭音频3A |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
对讲建议不使用 3A 功能,对音质会有影响。 当在使用enableAudioStream 的时候,必须打开 3A 功能,否则会有回声。
createChannel
virtual IChannel * createChannel(const char *channelId, IChannelEventHandler *eventHandler)
创建频道
参数
参数 | 说明 |
---|---|
channelId | 频道ID |
eventHandler | 一个 IChannelEventHandler 对象 |
返回
- IChannel: 方法调用成功。
- null: 方法调用失败。
setPushAudioVolume
virtual int setPushAudioVolume(int nVolume)
设置录音音量
参数
参数 | 说明 |
---|---|
nVolume | 音量值设为 [0,100],默认100 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
setPlayAudioVolume
virtual int setPlayAudioVolume(int nVolume)
设置播放音量
参数
参数 | 说明 |
---|---|
nVolume | 音量值设为 [0,100],默认100 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
setExternalAudioSource
virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels)
配置外部音频源
参数
参数 | 说明 |
---|---|
enabled | 是否启用,true:启用;false:关闭 |
sampleRate | 采样率 |
channels | 声道 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
调用该方法后,在调用pushAudioFrame方法向 SDK 塞自采集音频流
setExternalAudioSink
virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels)
配置自定义音频渲染
参数
参数 | 说明 |
---|---|
enabled | 是否启用,true:启用;false:关闭 |
sampleRate | 采样率 |
channels | 声道 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
调用该方法后,在调用pullAudioFrame方法获取需要播放的音频流
pushAudioFrame
virtual int pushAudioFrame(ARK::IAudioFrameObserver::AudioFrame* frame)
推送外部音频帧
参数
参数 | 说明 |
---|---|
frame | 音频帧数据,详见ARK::IAudioFrameObserver::AudioFrame |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
调用该方法前,需先调用setExternalAudioSource方法配置外部音频源
pullAudioFrame
virtual int pullAudioFrame(ARK::IAudioFrameObserver::AudioFrame* frame)
获取音频帧数据
参数
参数 | 说明 |
---|---|
frame | 音频帧数据,详见ARK::IAudioFrameObserver::AudioFrame |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
调用该方法前,需先调用setExternalAudioSink方法配置自定义音频渲染
setLogFile
virtual int setLogFile(const char* logfile)
设定日志文件的默认地址
参数
参数 | 说明 |
---|---|
logfile | 日志文件的绝对路径。logfile 的编码格式为 UTF-8。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
- 请确保指定的路径可写。
- 如需调用本方法,请在调用 initialize 方法初始化 IRtkService 实例后立即调用,否则会造成输出日志不完整。
- Linux C++ 平台下,ar_rtk_sdk.log 默认位于当前工作路径下。
setLogFileSize
virtual int setLogFile(const char* logfile)
设置日志文件大小
设置 SDK 输出日志文件的大小,单位为 KB。 SDK 设有 2 个日志文件,每个文件大小为 512 KB。如果你将 fileSizeInKByte 设置为 1024 KB, SDK 会最多输出 2 MB 的日志文件。
参数
参数 | 说明 |
---|---|
fileSizeInKBytes | 指定 SDK 输出日志文件的大小,单位为 KB。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
- 低于 512 KB 或者高于 10 MB 的日志大小设置不会生效。
setLogFilter
virtual int setLogFilter(LOG_FILTER_TYPE filter)
设置日志输出等级
设置 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF、CRITICAL、ERROR、WARNING 和 INFO。选择一个级别,你就可以看到在该级别之前所有级别的日志信息。例如,你选择 WARNING 级别,就可以看到在 CRITICAL、ERROR 和 WARNING 级别上的所有日志信息。
参数
参数 | 说明 |
---|---|
filter | 日志输出等级。详见 LOG_FILTER_TYPE 。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
setParameters
virtual int setParameters(const char* parameters)
通过 JSON 配置 SDK 提供技术预览或特别定制功能
参数
参数 | 说明 |
---|---|
parameters | JSON 格式的 SDK 选项。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。
注意事项:
- JSON 选项默认不公开。anyRTC工程师正在努力寻求以标准化方式公开 JSON 选项。详情请联系 sales@dync.cc。