trtc-electron-sdk
Version:
trtc electron sdk
166 lines (165 loc) • 8.09 kB
TypeScript
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"
}