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);
属性
参数 | 类型 | 描述 |
---|---|---|
channelId | string | 频道实例的 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();
属性
参数 | 类型 | 描述 |
---|---|---|
nLevel | number | 对讲等级(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);
属性
参数 | 类型 | 描述 |
---|---|---|
bMute | boolean | 关闭/打开所有远程用户的音频。true 关闭、false 打开。 |
返回
setPullAudioQuality
setPullAudioQuality(nQuality: EAudioQuality): void
设置频道的音频拉流质量。
示例
TalkChannel.setPullAudioQuality(5);
属性
参数 | 类型 | 描述 |
---|---|---|
nQuality | EAudioQuality | 音频质量。 |
返回
void
setPushAudioQuality
setPushAudioQuality(nQuality: EAudioQuality): void
设置频道的音频推流质量。
示例
TalkChannel.setPushAudioQuality(5);
属性
参数 | 类型 | 描述 |
---|---|---|
nQuality | EAudioQuality | 音频质量。 |
返回
void
on
on(event: string, callback: (...args: any[]) => void): void;
在该频道实例上添加 listener 函数到名为 eventName 的事件。其他 TalkChannel 实例上的事件方法请参考 EventEmitter API 文档。
参数
参数 | 类型 | 描述 |
---|---|---|
eventName | keyof TalkChannelEvents | 频道事件的名称。 |
listener | function | 事件的回调函数。TalkChannelEvents[eventName] |
示例
/**
* 通过绑定 TalkChannel 实例提供的事件回调进行相关操作监听
* @params eventName: TalkChannel 实例提供的事件的名称。(类型:string)
* @params ...args: 不同的事件,回调参数是不同的。(类型:any[])
*/
talkChannel.on("ChannelMessage", (message, peerId, messagePros) => {
});
返回
void