视频通话
联系电话:(010) 6072 8829
技术QQ群:697918347
English
视频通话API
API概览

TTT SDK for 微信小程序

在微信小程序基础框架之上,三体云提供丰富的API接口,实现 微信小程序 与 三体云中各端之间的实时互动连麦通信。承载于全球部署的虚拟网络之上,三体云为用户提供质量可靠的实时音视频通信。

方法

Client 是 TTT 小程序 SDK 的入口类,提供所有可供 App 调用的方法。

根据功能,方法分类如下:

系统方法

方法 功能
TTTMAEngine.getVersion 获取SDK版本信息

Client 方法

方法 功能
init 初始化客户端对象
destroy 销毁Client
setLogLevel 设置SDK的log等级
setRole 设置用户角色
join 加入 3TRTC 频道
leave 离开 3TRTC 频道
publish 发布本地音视频流
unpublish 取消发布本地音视频流
subscribe 订阅远程音视频流
unsubscribe 取消订阅远程音视频流
mute 静默远程音视频流
unmute 恢复远程音视频流
kickout 主播踢人

Client 事件

通过 on / off 函数,应用开发者可以将 事件/回调 注册到 Client 中,当 Client 有指定事件发生时,将调用所注册的回调函数。

方法 功能
on 注册指定事件的回调函数
off 取消指定事件的回调函数

事件清单

回调 事件
session-status 会话状态更新
stream-added 媒体流加入
stream-removed 媒体流移除
disconnected 断开连接
kickout 被踢出房间
error 有错误发生

事件详细说明

 

 

 

API方法

成员函数

string  TTTMAEngine.getVersion()
Client  new TTTMAEngine.Client(appId, uid)

成员函数

undefined  on(event, callback)
undefined  off(event)
undefined  init(appId, uid, onSuccess, onFailure)
undefined  destroy()
undefined  setLogLevel(logLevel)
undefined  setRole(logLevel)
undefined  join(channel, onSuccess, onFailure)
undefined  leave(onSuccess, onFailure)
undefined  publish(onSuccess, onFailure)
undefined  unpublish(onSuccess, onFailure)
undefined  subscribe(userId, onSuccess, onFailure)
undefined  unsubscribe(userId, onSuccess, onFailure)
undefined  mute(userId, onSuccess, onFailure)
undefined  unmute(userId, onSuccess, onFailure)
undefined  kickout(userId, onSuccess, onFailure)

函数说明

 
获取SDK版本信息
TTTMAEngine.getVersion();

获取SDK版本信息

名称 描述
返回值 SDK版本号
 
创建Client对象(new Client)
new TTTMAEngine.Client(appId, uid);

创建Client对象

参数 类型 描述
appId string appId
uid number 用户ID
注:此参数为非0数值型
 
初始化(init)
Client init(appId, uid, onSuccess, onFailure);

使用该方法初始化客户端引擎。

参数 类型 描述
appId string appId
uid number 用户ID
注:此参数为非0数值型
onSuccess function callback:成功回调 -- 无参数
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述
 
设置日志级别
Client setLogLevel(logLevel);

设置SDK输出日志的级别

参数 类型 描述
logLevel string 取值 -- 解释:
'LOG_NONE' -- 不输出日志
'LOG_ERROR' -- 输出错误日志
'LOG_WARN' -- 输出警告日志
'LOG_INFO' -- 输出信息日志
'LOG_DEBUG' -- 输出调试日志默认值
'LOG_TRACE' -- 输出跟踪日志
 
设置用户角色
Client setRole(role, onSuccess, onFailure);

设置用户角色

参数 类型 描述
role number 取值 -- 解释
1: 主播
2: 副播
3: 观众
onSuccess function callback:成功回调 -- 无参数
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述
 
加入频道(join)
join(channel, uid, onSuccess, onFailure);

加入 3TRTC 频道

参数 类型 描述
channel number 频道(房间)id:房间号码
注:此参数为非0数值型
uid number 用户ID
注:此参数为非0数值型
onSuccess function callback:成功回调

参数为 object,字段定义如下:
connectId -- 本用户本次登录在 3T 网中的唯一标识
pushUrl -- 推流地址(rtmp url)
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述

注: join 时,需要保证用户id唯一,相同的id用户会被踢出房间。

 
离开频道(leave)
Client leave(onSuccess, onFailure);

离开频道

参数 类型 描述
onSuccess function callback:成功回调 -- 无参数
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述

注:离开通道就是离开此房间

 
发布本地音视频流(publish)
Client publish(onSuccess, onFailure);

发布本地音视频流

参数 类型 描述
onSuccess function callback:成功回调

参数为 object,字段定义如下:
connectId -- 本用户在 3T 网中的唯一标识
url -- 推流地址(rtmp url)
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述

代码示例

	
            client.publish(
              (data) => {
                Utils.log(`client publish success. url:${data.url}`);
                resolve(data.url);
              },
              (e) => {
                Utils.log(`client publish failed: ${e.code} ${e.reason}`);
                reject(e);
			  });
	
 
取消发布本地音视频流(unpublish)
Client unpublish(onSuccess, onFailure);

取消发布本地音视频流

参数 类型 描述
onSuccess function callback:成功回调 -- 无参数
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述
注:停止推流,房间内的其他用户将看不到本用户声音视频。

代码示例


          client.unpublish(
            () => {},
            (e) => {});
 
 
订阅远端音视频流(subscribe)
Client subscribe(userId, onSuccess, onFailure);

订阅远端音视频流

参数 类型 描述
userId number 订阅流的远端用户ID
onSuccess function callback:成功回调

参数为 object,字段定义如下:
userId -- 用户id
connectId -- 本用户在 3T 网中的唯一标识
url -- 推流地址(rtmp url)
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述

注:成功订阅远端流后,远端音视频流将发送到本地,由本地解码播放。

 
取消订阅远端音视频流(unsubscribe)
Client unsubscribe(userId, onSuccess, onFailure);

取消订阅远端音视频流

参数 类型 描述
userId number 远端用户ID,需求对该用户音视频的订阅
onSuccess function callback:成功回调 -- 无参数
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述

注:取消对该用户音视频的订阅后,该用户的音视频流将不再向本端推送。

 
静默远端音视频流(mute)
Client mute(userId, onSuccess, onFailure);

静默远端音视频流

参数 类型 描述
userId number 远端用户ID,本地暂停对该用户音视频流的接收
onSuccess function callback:成功回调
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述

注:此函数调用后将暂停接收远端音视频。

 
恢复远端音视频流(unmute)
Client unmute(userId, onSuccess, onFailure);

恢复远端音视频流

参数 类型 描述
userId number 远端用户ID,本地恢复对该用户音视频流的接收
onSuccess function callback:成功回调
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述

注:此函数调用后将恢复接收远端音视频。

 
将某人踢出房间(kickout)
Client kickout(userid, onSuccess, onFailure);

将某人踢出房间

参数 类型 描述
userId number 被踢用户id.
注:仅主播拥有踢人的权限
onSuccess function callback:成功回调
onFailure function callback:失败回调

参数为 object,字段定义如下:
code -- 错误码
reason -- 错误描述
 
释放Client (destroy)
Client destroy();

释放Client

参数 类型 描述
 

 

 

 

 

 

 

API回调

事件

session-status 会话状态变化
stream-added 有音视频流发布
stream-removed 有音视频流已移除
disconnected 本端已彻底断开
kickout 本用户被踢出
error 有致命错误发生

函数说明

 
会话状态(session-status)
session-status

会话状态

参数 类型 描述
object.code number 状态码,取值定义如下:
      3000: 断网,内部正在自动重连
      210: join成功
      300: 重连成功
      1000: 最终失败
object.uid number 用户ID
object.status string 描述字串
 
有音视频流发布(stream-added)
stream-added

有音视频流发布

参数 类型 描述
object.uid number 用户ID
	
		client.on('stream-added', (e) => {
			let uid = e.uid;
			// 记录:uid 已发布流
			//...
		}
	
 
音视频流移除(stream-removed)
stream-removed

音视频流移除

参数 类型 描述
object.uid number 用户ID
	
		client.on('stream-removed', (e) => {
			let uid = e.uid;
			// 记录:uid的流已取消
			//...
		}
	
 
本端已彻底断开(disconnected)
disconnected

本端已彻底断开

参数 类型 描述
number

	client.on('disconnected', () => {
		//...
	}
 
本端用户被踢出(kickout)
kickout

本端用户被踢出

参数 类型 描述
object.uid number 用户ID
object.reason string 踢出原因描述

示例代码


	client.on('kickout', (e) => {
		let uid = e.uid;
		let reason = e.reason;
		//...
	}
 
有致命错误发生(error)
error

有致命错误发生

参数 类型 描述
object.code number 错误码
object.reason string 错误描述

示例代码


	client.on('error', (e) => {
		let code = e.code;
		let reason = e.reason;
		//...
	}