客户端对象(Client)
本章节介绍了Web SDK的Client接口详情。
序号 |
接口 |
描述 |
---|---|---|
1 |
join |
加入房间。调用该接口让用户加入指定房间,进行音频/视频通话。 |
2 |
leave |
离开房间。用户结束通话后须调用该接口离开房间。 |
3 |
publish |
加入房间后,发布本地流。 |
4 |
unpublish |
取消发布本地流。 |
5 |
subscribe |
订阅远端音视频媒体流。 |
6 |
unsubscribe |
取消订阅远端音视频媒体。 |
7 |
switchRole |
切换用户角色。 |
8 |
on |
注册客户端对象事件回调接口。 |
9 |
off |
取消注册客户端对象事件回调接口。 |
表7.3.4.2-1 Client接口
join
async join(chanelId: string, options: JoinConfig): Promise<void>
【功能说明】
加入房间。该接口让用户加入一个房间,进行音频/视频通话。
【请求参数】
chanelId:必选,string[64]类型,房间ID,房间唯一标识符。
options:必选,JoinConfig类型,加入房间配置。
JoinConfig定义为:{
userId:必选,string[64]类型,用户标识,userId 需要保证应用内唯一。
signature:必选,string[512]类型,鉴权签名字串,具体生成方法请参见接入鉴权。
ctime:必选,鉴权签名时间戳。string类型,UTC时间戳,单位秒。
host: 必选,string类型,媒体服务器接入IP
port: 必选,int类型,媒体服务器接入端口
userRole:非必选,number类型,用户角色,可以标识媒体方向。role的枚举值包括:
1:表示joiner,能够发送音视频和接受音视频。
0:表示publisher, 只发送自己的音视频媒体,不接收别人的音视频。
}
chanelId支持的字符包括:a-z、A-Z、0-9、连接符 '-'、下划线 '_'
userId支持的字符包括:a-z、A-Z、0-9、连接符 '-'、下划线 '_'
【返回参数】
Promise<void>:返回一个Promise对象。
leave
async leave(): Promise<void>
【功能说明】
离开房间,用户结束通话后须调用该接口离开房间。
【请求参数】
无
【返回参数】
Promise<void>:返回一个Promise对象。
publish
publish(stream: Stream): Promise<void>
【功能说明】
加入房间后,可以调用该接口发布本地流。只有角色为“joiner”和“publisher”才能发布本地流。
【请求参数】
stream:必选,Stream类型。
【返回参数】
Promise<void>:返回一个Promise对象。
unpublish
unpublish(stream: Stream): Promise<void>
【功能说明】
取消发布本地流。
【请求参数】
stream:必选,Stream类型。
【返回参数】
Promise<void>:返回一个Promise对象。
subscribe
async subscribe(stream: Stream, option?:SubscribeOption): Promise<void>
【功能说明】
订阅远端音视频媒体流。订阅远端媒体流成功后,会收到 Client.on('stream-subscribed') 事件通知。然后可以对流进行播放。
【请求参数】
stream:必选,Stream类型。
option:可选,SubscribeOption类型,表示订阅视频或音频的选项,如果不传则订阅音频和分辨率最高的视频。
SubscribeOption类型定义如下:
{
video:可选,boolean类型,表示是否订阅视频,默认为false。
audio: 可选,boolean类型,表示是否订阅音频,默认为false。
}
【返回参数】
Promise<void>:返回一个Promise对象。
subscribeOption中“video”和“audio”不能同时为“false”。
unsubscribe
async unsubscribe(stream: Stream,option?:UnsubscriptionOption): Promise<void>
【功能说明】
取消订阅远端音视频媒体流。
【请求参数】
stream:必选,Stream类型,远端流对象,通过stream-added事件获得。
option:可选。表示取消订阅的选项,如果不传,则取消订阅音频和所有分辨率的视频,为UnsubscriptionOption类型。
UnsubscriptionOption定义如下:
{
video:可选,boolean类型,表示是否取消订阅视频,默认为false。
audio:可选,boolean类型,表示是否取消订阅音频,可选,默认为false
}
【返回参数】
Promise<void>:返回一个Promise对象。
on
on(event: string, handler: function): void
【功能说明】
注册客户端对象事件回调接口。
【请求参数】
event:必选,string类型,事件名称。详细事件列表请参见ClientEvent。
handler:必选,function类型,事件处理方法。
【返回参数】
无
off
off(event: string, handler: function): void
【功能说明】
取消事件绑定。
【请求参数】
event:必选,string类型,事件名称。详细事件列表请参见ClientEvent。
handler:必选,function类型,事件处理方法。
【返回参数】
无