UNPKG

trtc-electron-sdk

Version:

trtc electron sdk

166 lines (165 loc) 8.09 kB
import { TRTCVideoStreamType, TRTCScreenCaptureSourceInfo, Rect, TRTCVideoEncParam, TRTCRenderParams, TRTCCameraCaptureParams, TRTCScreenCaptureProperty } from '../trtc_define'; export declare enum TRTCLocalMediaTranscodingError { Success = 0, Error = -1, InvalidParams = -2, NotFoundSource = -3, ImageSourceLoadFailed = -4, CameraNotAuthorized = -5, CameraIsOccupied = -6, CameraDisconnected = -7, UnsupportedOnlineVideoProtocol = -8, UnsupportedLocalVideoFileFormat = -9, OnlineVideoConnectFailed = -10, OnlineVideoConnectionLost = -11, NoAvailableHevcDecoder = -12, VideoFileNotExist = -13 } export declare enum TRTCLocalMediaTranscodingSourceType { MediaSourceCamera = 0, MediaSourceScreen = 1, MediaSourceImage = 2, MediaSourceRemoteVideo = 3 } export declare type TRTCLocalMediaTranscodingSource = { sourceType: TRTCLocalMediaTranscodingSourceType; cameraDeviceId?: string; screenSourceId?: string; imagePath?: string; userId?: string; rect: Rect; zOrder: number; renderParams: TRTCRenderParams; }; export declare type TRTCLocalMediaTranscodingParams = { inputSourceList: TRTCLocalMediaTranscodingSource[]; videoEncoderParams: TRTCVideoEncParam; canvasColor: number; }; export interface ITRTCLocalMediaTranscoder { startTranscoding(streamType: TRTCVideoStreamType, params: TRTCLocalMediaTranscodingParams): void; updateTranscodingParams(params: TRTCLocalMediaTranscodingParams): void; stopTranscoding(): void; startCameraSource(deviceId: string): void; stopCameraSource(deviceId: string): void; setCameraCaptureParams(deviceId: string, cameraCaptureParams: TRTCCameraCaptureParams): void; startScreenSource(source: TRTCScreenCaptureSourceInfo, rect: Rect): void; stopScreenSource(sourceId: string): void; updateScreenCaptureProperty(sourceId: string, property: TRTCScreenCaptureProperty): void; addImageSource(path: string, fps: number): void; removeImageSource(path: string): void; setMixedVideoRenderView(view: HTMLElement | null): void; destroy(): void; } /** * @namespace TRTCLocalMediaTranscodingEvent * @description 目前只支持 Windows */ export declare enum TRTCLocalMediaTranscodingEvents { /** * @description 本地混流转码开启的事件 * * 当您调用 [startTranscoding]{@link TRTCLocalMediaTranscoder#startTranscoding} 时启动本地混流转码时,是否启动成功会通过此回调同步给您。 * * @event TRTCLocalMediaTranscodingEvent#onTranscodingStarted * @param {TRTCLocalMediaTranscodingError} errCode - 错误码。 * @param {String} errMsg - 错误信息。 */ onTranscodingStarted = "onTranscodingStarted", /** * @description 本地混流转码停止的事件 * * 当您通过 [stopTranscoding]{@link TRTCLocalMediaTranscoder#stopTranscoding} 停止本地混流转码时,SDK 便会抛出此事件。 * * @event TRTCLocalMediaTranscodingEvent#onTranscodingStopped * @param {Number} reason - 停止原因,0:用户主动停止;1:被动停止,有可能采集源失效了 * @param {String} errMsg - 停止原因描述信息。 */ onTranscodingStopped = "onTranscodingStopped", /** * @description 本地摄像头开启的事件 * 当您调用 [startCameraSource]{@link TRTCLocalMediaTranscoder#startCameraSource} 打开摄像头时,是否启动成功会通过此回调同步给您。 * * @event TRTCLocalMediaTranscodingEvent#onCameraSourceStarted * @param {String} deviceId - 摄像头设备 Id 。 * @param {TRTCLocalMediaTranscodingError} errCode - 错误码。 * @param {String} errMsg - 错误信息。 */ onCameraSourceStarted = "onCameraSourceStarted", /** * @description 本地摄像头停止的事件 * * @event TRTCLocalMediaTranscodingEvent#onCameraSourceStopped * @param {String} deviceId - 摄像头设备 Id 。 * @param {String} reasonMsg - 停止原因描述信息。 */ onCameraSourceStopped = "onCameraSourceStopped", /** * @description 图片混流开启的事件 * 当您调用 [addImageSource]{@link TRTCLocalMediaTranscoder#addImageSource} 打开摄像头时,是否启动成功会通过此回调同步给您。 * * @event TRTCLocalMediaTranscodingEvent#onImageSourceStarted * @param {String} imagePath - 图片路径 。 * @param {TRTCLocalMediaTranscodingError} errCode - 错误码。 * @param {String} errMsg - 错误信息。 */ onImageSourceStarted = "onImageSourceStarted", /** * @description 图片混流停止的事件 * @event TRTCLocalMediaTranscodingEvent#onImageSourceStopped * @param {String} imagePath - 图片路径 。 */ onImageSourceStopped = "onImageSourceStopped", /** * @description 屏幕分享开启的事件 * * 当您通过 [startScreenSource]{@link TRTCLocalMediaTranscoder#startScreenSource} 等相关接口启动屏幕分享时,SDK 便会抛出此事件回调。 * * @event TRTCLocalMediaTranscodingEvent#onScreenSourceStarted * @param {String} sourceId - 屏幕或者窗口 Id 。 * @param {TRTCLocalMediaTranscodingError} errCode - 错误码。 * @param {String} errMsg - 错误信息。 */ onScreenSourceStarted = "onScreenSourceStarted", /** * @description 屏幕分享暂停的事件 * @event TRTCLocalMediaTranscodingEvent#onScreenSourcePaused * @param {String} sourceId - 屏幕或者窗口 Id 。 * @param {int} reason - 原因: * - 1:注意此字段的含义在 MAC 和 Windows * 平台有稍微差异。屏幕窗口不可见暂停(Mac)。表示设置屏幕分享参数导致的暂停(Windows)。 * - 2:表示屏幕分享窗口被最小化导致的暂停(仅 Windows)。 * - 3:表示屏幕分享窗口被隐藏导致的暂停(仅 Windows)。 */ onScreenSourcePaused = "onScreenSourcePaused", /** * @description 屏幕分享恢复的事件 * @event TRTCLocalMediaTranscodingEvent#onScreenSourceResumed * @param {String} sourceId - 屏幕或者窗口 Id 。 * @param {int} reason - 原因: * - 1:注意此字段的含义在 MAC 和 Windows * 平台有稍微差异。屏幕窗口恢复可见从而恢复分享(Mac)。屏幕分享参数设置完毕后自动恢复(Windows)。 * - 2:表示屏幕分享窗口从最小化被恢复(仅 Windows)。 * - 3:表示屏幕分享窗口从隐藏被恢复(仅 Windows)。 */ onScreenSourceResumed = "onScreenSourceResumed", /** * @description 屏幕分享停止的事件 * 当您通过 [stopScreenSource]{@link TRTCLocalMediaTranscoder#stopScreenSource} 停止屏幕分享时,SDK 便会抛出此事件回调。 * * @event TRTCLocalMediaTranscodingEvent#onScreenSourceStopped * @param {String} sourceId - 屏幕或者窗口 Id 。 * @param {int} reason - 原因:0:用户主动停止;1:屏幕窗口关闭导致停止;2:表示屏幕分享的显示屏状态变更(如接口被拔出、投影模式变更等)。 */ onScreenSourceStopped = "onScreenSourceStopped", /** * @description 媒体源画面大小发生变化的事件 * @event TRTCLocalMediaTranscodingEvent#onMediaSourceSizeChanged * * 当输入媒体源的画面大小发生变化时,会通过该接口返回该输入源最新的尺寸,您可以根据该尺寸来动态调整画面的比例。 * @param {TRTCLocalMediaTranscodingSource}mediaSource 输入媒体源信息 * @param {Object} newSize 输入媒体源最新的画面大小 * @param {Number} newSize.cx 宽度 * @param {Number} newSize.cy 高度 */ onMediaSourceSizeChanged = "onMediaSourceSizeChanged" }