UNPKG

trtc-electron-sdk

Version:

trtc electron sdk

81 lines (80 loc) 2.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TRTCMediaMixingServiceEvent = void 0; const events_1 = require("events"); const MediaMixingManager_1 = require("./MediaMixingManager"); /** * @namespace TRTCMediaMixingServiceEvent * @description 目前只支持 `Windows` 操作系统 */ var TRTCMediaMixingServiceEvent; (function (TRTCMediaMixingServiceEvent) { /** * @description 本地混流服务器连接丢失事件 * * @event TRTCMediaMixingServiceEvent#onMediaMixingServerLost */ TRTCMediaMixingServiceEvent["onMediaMixingServerLost"] = "onMediaMixingServerLost"; })(TRTCMediaMixingServiceEvent = exports.TRTCMediaMixingServiceEvent || (exports.TRTCMediaMixingServiceEvent = {})); /** * 本地混流服务 * * 目前只支持 `Windows` 操作系统 */ class TRTCMediaMixingService { constructor(mediaMixingManager) { this.mediaMixingManager = mediaMixingManager; this.eventEmitter = new events_1.EventEmitter(); this.mediaMixingManager.on(MediaMixingManager_1.TRTCMediaMixingEvent.onMediaMixingServerLost, () => { this.eventEmitter.emit(TRTCMediaMixingServiceEvent.onMediaMixingServerLost); }); } /** * 启动独立混流渲染进程 * * 开发模式,默认路径:node_modules\\trtc-electron-sdk\\build\\Release\\liteav_media_server.exe * * 构建模式,默认路径:${resourcesPath}\\liteav_media_server.exe * * 如果用户应用有特殊配置,默认路径可能找不到服务进程程序,需要自行传入路径。 * * @param path {string} - 服务进程程序路径,不传入参数时,SDK 内部按照默认路径启动服务进程。 * * @returns {Promise<void>} */ startMediaMixingServer(path) { return this.mediaMixingManager.startMediaMixingServer(path); } /** * 关闭独立混流渲染进程 * * @returns {Promise<void>} */ stopMediaMixingServer() { return this.mediaMixingManager.stopMediaMixingServer(); } destroy() { this.eventEmitter.removeAllListeners(); } /** * 注册事件监听 * * @param event {TRTCMediaMixingServiceEvent} - 事件名称 * @param func {Function} - 事件回调函数 */ on(event, func) { var _a; (_a = this.eventEmitter) === null || _a === void 0 ? void 0 : _a.on(event, func); } /** * 取消事件监听 * * @param event {TRTCMediaMixingServiceEvent} - 事件名 * @param func {Function} - 事件回调函数 */ off(event, func) { var _a; (_a = this.eventEmitter) === null || _a === void 0 ? void 0 : _a.off(event, func); } } exports.default = TRTCMediaMixingService;