UNPKG

trtc-electron-sdk

Version:

trtc electron sdk

101 lines (100 loc) 3.71 kB
import { TRTCVideoRotation, TRTCVideoFillMode, TRTCVideoMirrorType, TRTCVideoEncParam, TRTCCameraCaptureParams, Rect, TRTCScreenCaptureProperty } from '../../trtc_define'; export declare enum TRTCMediaMixingErrorCode { Success = 0, Error = -1, InvalidParams = -2, NotFoundSource = -3, ImageSourceLoadFailed = -4, CameraNotAuthorized = -5, CameraIsOccupied = -6, CameraDisconnected = -7 } export declare enum TRTCMediaSourceType { kCamera = 0, kScreen = 1, kImage = 2, kPhoneMirror = 4 } export declare type TRTCPhoneMirrorParam = { platformType: number; connectType: number; deviceId: string; deviceName: string; placeholderImagePath: string; frameRate: number; bitrateKbps: number; }; export declare type TRTCMediaSource = { sourceType: TRTCMediaSourceType; sourceId: string; zOrder: number; enableGreenScreen?: boolean; rect: Rect; isSelected?: boolean; rotation?: TRTCVideoRotation; fillMode?: TRTCVideoFillMode; mirrorType?: TRTCVideoMirrorType; }; export declare type TRTCMediaMixingEncParam = { videoEncoderParams: TRTCVideoEncParam; canvasColor: number; selectedBorderColor?: number | 0xFFFF00; }; export declare enum TRTCStreamLayoutMode { Custom = "Custom", None = "None" } export declare type TRTCUserStream = { userId: string; fillMode?: TRTCVideoFillMode; rect?: Rect; zOrder?: number; }; export declare type TRTCStreamInfo = { userId: string; x: number; y: number; w: number; h: number; zOrder?: number; fillMode?: TRTCVideoFillMode; }; export declare type TRTCStreamLayout = { layoutMode: TRTCStreamLayoutMode; userList?: Array<TRTCUserStream>; size?: { width: number; height: number; }; streams?: Array<TRTCStreamInfo>; }; export interface ITRTCMediaMixingManager { addMediaSource(mediaSource: TRTCMediaSource): Promise<Rect>; removeMediaSource(mediaSource: TRTCMediaSource): Promise<void>; updateMediaSource(mediaSource: TRTCMediaSource): Promise<void>; setCameraCaptureParam(cameraID: string, param: TRTCCameraCaptureParams): void; setPhoneMirrorParam(phoneMirrorSourceId: string, param: TRTCPhoneMirrorParam): void; setScreenCaptureProperty(screenWindowID: string, property: TRTCScreenCaptureProperty): void; startPublish(): Promise<void>; stopPublish(): Promise<void>; updatePublishParams(params: TRTCMediaMixingEncParam): Promise<void>; /** * @deprecated */ setDisplayParams(windowID: number | Uint8Array, regionOrView: HTMLElement | Rect | null): void; bindPreviewArea(windowID: Uint8Array, view: HTMLElement | Rect | null): void; setStreamLayout(options: TRTCStreamLayout): void; destroy(): void; on(event: string, func: (...args: any[]) => void): void; off(event: string, func: (...args: any[]) => void): void; } export interface ITRTCMediaMixingEvent { onSourceSelected(mediaSource: TRTCMediaSource | null): void; onSourceMoved(mediaSource: TRTCMediaSource, rect: Rect): void; onSourceResized(mediaSource: TRTCMediaSource, rect: Rect): void; onRightButtonClicked(mediaSource: TRTCMediaSource | null): void; onSourcePlugged(source: TRTCMediaSource | TRTCPhoneMirrorParam, detail: string): void; onSourceConnected(source: TRTCMediaSource | TRTCPhoneMirrorParam, detail: string): void; onSourceDisconnected(source: TRTCMediaSource | TRTCPhoneMirrorParam, detail: string): void; onSourceUnplugged(source: TRTCMediaSource | TRTCPhoneMirrorParam, detail: string): void; }