tencentcloud-sdk-nodejs
Version:
210 lines (208 loc) • 7.26 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Client = void 0;
/* eslint-disable @typescript-eslint/no-unused-vars */
/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const abstract_client_1 = require("../../../common/abstract_client");
/**
* trro client
* @class
*/
class Client extends abstract_client_1.AbstractClient {
constructor(clientConfig) {
super("trro.tencentcloudapi.com", "2022-03-25", clientConfig);
}
/**
* 设置回调URL
录制回调事件内容参考:https://cloud.tencent.com/document/product/647/81113
转推回调事件内容参考:https://cloud.tencent.com/document/product/647/88552
*/
async ModifyCallbackUrl(req, cb) {
return this.request("ModifyCallbackUrl", req, cb);
}
/**
* 用于获取项目信息
*/
async DescribeProjectInfo(req, cb) {
return this.request("DescribeProjectInfo", req, cb);
}
/**
* 查询用户设备的授权绑定情况
*/
async GetDevices(req, cb) {
return this.request("GetDevices", req, cb);
}
/**
* 停止指定的混流转推任务。如果没有调用 Stop 接口停止任务,所有参与混流转推的主播离开房间超过MaxIdleTime 设置的时间后,任务也会自动停止。
*/
async StopPublishLiveStream(req, cb) {
return this.request("StopPublishLiveStream", req, cb);
}
/**
* 用于修改设备信息
*/
async ModifyDevice(req, cb) {
return this.request("ModifyDevice", req, cb);
}
/**
* 用于查看权限配置
*/
async DescribePolicy(req, cb) {
return this.request("DescribePolicy", req, cb);
}
/**
* 统计license类型数量
*/
async GetLicenseStat(req, cb) {
return this.request("GetLicenseStat", req, cb);
}
/**
* 获取各时间段的会话统计值
*/
async DescribeSessionStatisticsByInterval(req, cb) {
return this.request("DescribeSessionStatisticsByInterval", req, cb);
}
/**
* 为推流设备绑定license,优先绑定到期时间最近的,到期时间相同优先绑定月包
*/
async BoundLicenses(req, cb) {
return this.request("BoundLicenses", req, cb);
}
/**
* 用于批量删除修改权限配置
*/
async BatchDeletePolicy(req, cb) {
return this.request("BatchDeletePolicy", req, cb);
}
/**
* 启动一个混流转推任务,将 TRTC 房间的多路音视频流混成一路音视频流,编码后推到直播 CDN 或者回推到 TRTC 房间。也支持不转码直接转推 TRTC 房间的单路流。启动成功后,会返回一个 SdkAppid 维度唯一的任务 Id(TaskId)。您需要保存该 TaskId,后续需要依赖此 TaskId 更新和结束任务。
*/
async StartPublishLiveStream(req, cb) {
return this.request("StartPublishLiveStream", req, cb);
}
/**
* 按授权查看license列表
*/
async GetLicenses(req, cb) {
return this.request("GetLicenses", req, cb);
}
/**
* 启动云端录制功能,完成房间内的音视频录制,并上传到指定的云存储。
*/
async CreateCloudRecording(req, cb) {
return this.request("CreateCloudRecording", req, cb);
}
/**
* 用于获取设备信息列表
*/
async DescribeDeviceList(req, cb) {
return this.request("DescribeDeviceList", req, cb);
}
/**
* 用于修改项目信息
*/
async ModifyProject(req, cb) {
return this.request("ModifyProject", req, cb);
}
/**
* 获取设备会话数据详单
*/
async DescribeDeviceSessionDetails(req, cb) {
return this.request("DescribeDeviceSessionDetails", req, cb);
}
/**
* 用于修改权限配置
*/
async ModifyPolicy(req, cb) {
return this.request("ModifyPolicy", req, cb);
}
/**
* 用于创建设备
*/
async CreateDevice(req, cb) {
return this.request("CreateDevice", req, cb);
}
/**
* 用于批量删除设备
*/
async BatchDeleteDevices(req, cb) {
return this.request("BatchDeleteDevices", req, cb);
}
/**
* 获取会话统计值
*/
async DescribeSessionStatistics(req, cb) {
return this.request("DescribeSessionStatistics", req, cb);
}
/**
* 用于获取指定设备信息
*/
async DescribeDeviceInfo(req, cb) {
return this.request("DescribeDeviceInfo", req, cb);
}
/**
* 使用项目共享密钥可动态生成设备登录密钥,登录前无需对设备进行提前注册,适合希望简化业务流程的客户。由于是公共密钥,请务必注意保护项目共享密钥,并及时更新。建议项目共享密钥保存在服务器侧。由服务器生成设备登录密码下发给设备,避免密钥保存在客户端侧产生的密钥泄露风险。
开启项目共享密钥后,对于已注册的设备,仍可使用原设备密码登录。若希望仅能通过共享密钥生成密码登录,请通过云 API 将设备密码更新为"USEPROJECTKEYPWD"。
*/
async ModifyProjectSecMode(req, cb) {
return this.request("ModifyProjectSecMode", req, cb);
}
/**
* 获取设备会话列表
*/
async DescribeDeviceSessionList(req, cb) {
return this.request("DescribeDeviceSessionList", req, cb);
}
/**
* 成功开启录制后,可以使用此接口来停止录制任务。停止录制成功后不代表文件全部传输完成,如果未完成后台将会继续上传文件,成功后通过事件回调通知客户文件全部传输完成状态。
*/
async DeleteCloudRecording(req, cb) {
return this.request("DeleteCloudRecording", req, cb);
}
/**
* 用于创建项目
*/
async CreateProject(req, cb) {
return this.request("CreateProject", req, cb);
}
/**
* 获取最新设备会话列表
*/
async DescribeRecentSessionList(req, cb) {
return this.request("DescribeRecentSessionList", req, cb);
}
/**
* 获取设备已经绑定的可用授权数量
*/
async GetDeviceLicense(req, cb) {
return this.request("GetDeviceLicense", req, cb);
}
/**
* 用于删除项目
*/
async DeleteProject(req, cb) {
return this.request("DeleteProject", req, cb);
}
/**
* 用于获取项目列表
*/
async DescribeProjectList(req, cb) {
return this.request("DescribeProjectList", req, cb);
}
}
exports.Client = Client;