talkClient 类

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

通过 ArTalk 上的 createInstance 方法创建 Talk 客户端实例。

示例

本示例为创建一个 talkClient 示例,本页所有的示例都是基于当前这个 talkClient 示例执行。

import ArTalk from "ar-talk-sdk";
/**
 * 创建 Talk 客户端实例
 * @params appId: 项目的 App ID。必须是 ASCII 编码,长度为 32 个字符。(类型:string)
 */
const client = ArTalk.createInstance(appId);

核心方法

login

login(options: loginOptions): Promise<void>

用户登录 anyRTC Talk 系统。

注意事项
1. 同时进行 Talk 和 RTC 系统的登录操作,推荐先登录 Talk 系统再登录 RTC 系统,错时登录更加高效。
2. 使用相同用户 ID 登录时,之前登录的用户会被踢出系统,同时也会从之前加入的频道中踢出。

参数

参数类型描述
optionsloginOptionsTalk 登录配置, 设置 uid、token 等信息。

示例

/**
 * 用户登录 anyRTC Talk 系统
 * @params options: 参数详见上方
 */
client.login({ token: "undefined", uid: "userID" })
    .then(() => { })
    .catch((err) => { });

返回

Promise<void>

logout

logout(): Promise<void>

退出 Talk 系统。

退出后自动断开连接和销毁回调监听。

示例

/**
 * 退出登录,退出后自动断开连接和销毁回调监听 (必须先登录)
 */
client.logout()
    .then(() => { })
    .catch((err) => { });

返回

void

创建频道

createChannel

createChannel(channelId: string): TalkChannel

该方法创建一个 TalkChannel 实例。

请不要将 channelId 设为字符串 "null"。

参数

参数类型描述
channelIdstring频道名称。该字符串不可超过 64 字节。

示例

/**
 * 创建一个 talkClient 实例
 * @params channelId: 频道名称。(类型:string)
 */
const talkChannel = client.createChannel('123456789');

返回

一个 TalkChannel 实例。

其他

enableLocalAudio

enableLocalAudio(enabled: boolean): Promise<void>

开/关本地音频。

参数

参数类型描述
enabledboolean是否开启本地麦克风。true 打开、false关闭。

示例

/**
 * 创建一个 talkClient 实例
 * @params channelId: 频道名称。(类型:string)
 */
const talkChannel = client.enableLocalAudio(true);

返回

Promise

setDefaultPullAudioQuality

setDefaultPullAudioQuality(nQuality: boolean): Promise<void>

设置默认音频拉流质量。

参数

参数类型描述
nQualityEAudioQuality设置默认音频拉流质量。

示例

const talkChannel = client.setDefaultPullAudioQuality(5);

返回

Promise

setDefaultPushAudioQuality

setDefaultPushAudioQuality(nQuality: boolean): Promise<void>

设置默认音频推流质量。

参数

参数类型描述
nQualityEAudioQuality设置默认音频拉流质量。

示例

const talkChannel = client.setDefaultPushAudioQuality(5);

返回

Promise

on

on(event: string, callback: (...args: any[]) => void): void;

在该频道实例上添加 listener 函数到名为 eventName 的事件。其他 talkClient 实例上的事件方法请参考 EventEmitter API 文档。

参数

参数类型描述
eventNamestringTalk 客户端事件的名称。
listenerfunction事件的回调函数。TalkClientEvents[eventName]

示例

/**
 * 通过绑定 SDK 提供的事件回调进行相关操作监听
 * @params eventName: SDK Talk 客户端提供的事件的名称。(类型:string)
 * @params ...args: 不同的事件,回调参数是不同的。(类型:any[])
 */
client.on("MessageFromPeer", (message, peerId, messageProps) => {

});

返回

void

renewToken

renewToken(token: string): Promise<void>

更新当前 Token。

参数

参数类型描述
tokenstring新的 Token。

示例

/**
 * 更新当前 Token
 * @params token: 新的 Token (类型:string)
 */
client.renewToken(token)
    .then(() => { })
    .catch((err) => { });

返回

Promise<void>

setParameters

setParameters(params: TalkParameters): void

配置 SDK 提供技术预览或特别定制功能。

参数

参数类型描述
paramsTalkParameters定制功能。

示例

/**
 * 全量设置本地用户的属性。
 * @params params: 定制功能 (类型:object)
 */
client.setParameters(params);

返回

void