TalkChannel 类

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

Talk 频道类。

你可以调用 createChannel 方法创建 Talk 频道实例,实例可以加入频道、退出频道、申请对讲、取消对讲、打断对讲、设置对讲级别等。

实例

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

属性

参数类型描述
channelIdstring频道实例的 ID。

方法

join

join(): Promise<void>

调用该方法加入该频道,加入频道成功后可收到该频道消息和频道用户进退通知。

  • 你最多可以加入 20 个频道。

示例

/**
 * 加入该频道
 */
TalkChannel.join()
    .then((res) => { })
    .catch((err) => { });

返回

Promise<void>

leave

leave(): Promise<void>

调用该方法离开该频道,不再接收频道消息和频道用户进退通知。

示例

TalkChannel.leave()
    .then((res) => { })
    .catch((err) => { });

返回

setLevel

setLevel(nLevel: number): void

设置用户对讲级别。

示例

TalkChannel.setLevel();

属性

参数类型描述
nLevelnumber对讲等级(0~9)。数值越小权限越大。

返回

void

getLevel

getLevel(): number

获取用户的对讲级别。

返回

number

pushToTalk

pushToTalk(): Promise<void>

申请对讲。

示例

TalkChannel.pushToTalk();

返回

Promise

stopPushToTalk

stopPushToTalk(): Promise<void>

取消对讲。

示例

TalkChannel.stopPushToTalk();

返回

Promise

breakTalk

breakTalk(): Promise<void>

打断对讲。可以打断当前正在对讲的用户(如果自己权限比该用户高时)。

无法打断比自己级别高或者同级别的对讲。 举例:级别 1 的可以打开 1 以上的,例如 2,3...级别,无法打断同级别的 1 和高级别的 0。

示例

TalkChannel.breakTalk();

返回

Promise

muteAllRemoteAudio

muteAllRemoteAudio(bMute: boolean): Promise<void>

关闭/打开所有远程用户的音频。

示例

TalkChannel.muteAllRemoteAudio(true);

属性

参数类型描述
bMuteboolean关闭/打开所有远程用户的音频。true关闭、false打开。

返回

setPullAudioQuality

setPullAudioQuality(nQuality: EAudioQuality): void

设置频道的音频拉流质量。

示例

TalkChannel.setPullAudioQuality(5);

属性

参数类型描述
nQualityEAudioQuality音频质量。

返回

void

setPushAudioQuality

setPushAudioQuality(nQuality: EAudioQuality): void

设置频道的音频推流质量。

示例

TalkChannel.setPushAudioQuality(5);

属性

参数类型描述
nQualityEAudioQuality音频质量。

返回

void

on

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

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

参数

参数类型描述
eventNamekeyof TalkChannelEvents频道事件的名称。
listenerfunction事件的回调函数。TalkChannelEvents[eventName]

示例

/**
 * 通过绑定 TalkChannel 实例提供的事件回调进行相关操作监听
 * @params eventName: TalkChannel 实例提供的事件的名称。(类型:string)
 * @params ...args: 不同的事件,回调参数是不同的。(类型:any[])
 */
talkChannel.on("ChannelMessage", (message, peerId, messagePros) => {

});

返回

void