通过 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 登录时,之前登录的用户会被踢出系统,同时也会从之前加入的频道中踢出。
参数
参数 | 类型 | 描述 |
---|---|---|
options | loginOptions | Talk 登录配置, 设置 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"。
参数
参数 | 类型 | 描述 |
---|---|---|
channelId | string | 频道名称。该字符串不可超过 64 字节。 |
示例
/**
* 创建一个 talkClient 实例
* @params channelId: 频道名称。(类型:string)
*/
const talkChannel = client.createChannel('123456789');
返回
一个 TalkChannel 实例。
其他
enableLocalAudio
enableLocalAudio(enabled: boolean): Promise<void>
开/关本地音频。
参数
参数 | 类型 | 描述 |
---|---|---|
enabled | boolean | 是否开启本地麦克风。true 打开、false 关闭。 |
示例
/**
* 创建一个 talkClient 实例
* @params channelId: 频道名称。(类型:string)
*/
const talkChannel = client.enableLocalAudio(true);
返回
Promise
setDefaultPullAudioQuality
setDefaultPullAudioQuality(nQuality: boolean): Promise<void>
设置默认音频拉流质量。
参数
参数 | 类型 | 描述 |
---|---|---|
nQuality | EAudioQuality | 设置默认音频拉流质量。 |
示例
const talkChannel = client.setDefaultPullAudioQuality(5);
返回
Promise
setDefaultPushAudioQuality
setDefaultPushAudioQuality(nQuality: boolean): Promise<void>
设置默认音频推流质量。
参数
参数 | 类型 | 描述 |
---|---|---|
nQuality | EAudioQuality | 设置默认音频拉流质量。 |
示例
const talkChannel = client.setDefaultPushAudioQuality(5);
返回
Promise
on
on(event: string, callback: (...args: any[]) => void): void;
在该频道实例上添加 listener 函数到名为 eventName 的事件。其他 talkClient 实例上的事件方法请参考 EventEmitter API 文档。
参数
参数 | 类型 | 描述 |
---|---|---|
eventName | string | Talk 客户端事件的名称。 |
listener | function | 事件的回调函数。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。
参数
参数 | 类型 | 描述 |
---|---|---|
token | string | 新的 Token。 |
示例
/**
* 更新当前 Token
* @params token: 新的 Token (类型:string)
*/
client.renewToken(token)
.then(() => { })
.catch((err) => { });
返回
Promise<void>
setParameters
setParameters(params: TalkParameters): void
配置 SDK 提供技术预览或特别定制功能。
参数
参数 | 类型 | 描述 |
---|---|---|
params | TalkParameters | 定制功能。 |
示例
/**
* 全量设置本地用户的属性。
* @params params: 定制功能 (类型:object)
*/
client.setParameters(params);
返回
void