trtc-electron-sdk
Version:
trtc electron sdk
184 lines (183 loc) • 11.5 kB
TypeScript
import TRTCMediaMixingManager, { TRTCMediaMixingService } from './extensions/MediaMixingManager';
import { AudioMusicParam, Rect, TRTCAppScene, TRTCAudioQuality, TRTCBeautyStyle, TRTCDeviceType, TRTCLogLevel, TRTCAudioFrame, TRTCVideoFillMode, TRTCVideoRotation, TRTCVideoStreamType, TRTCWaterMarkSrcType, TRTCPluginType, TRTCPluginInfo, TRTCVideoProcessPluginOptions, TRTCMediaEncryptDecryptPluginOptions, TRTCAudioRecordingParams, TRTCScreenCaptureSourceInfo, TRTCScreenCaptureProperty, TRTCSpeedTestParams, TRTCRecordType, TRTCDeviceInfo, TRTCCameraCaptureParams, TRTCImageBuffer, TRTCInitConfig, TRTCAudioParallelParams, TRTCVoiceReverbType, TRTCVoiceChangerType, TRTCMusicPlayObserver, TRTCAudioFrameCallback, TRTCAudioProcessPluginOptions, TRTCPublishTarget, TRTCStreamEncoderParam, TRTCStreamMixingConfig, TRTCRenderParams, TRTCRoleType, TRTCSwitchRoomParam, TRTCVideoFrame, TRTCVideoPixelFormat, TRTCVideoBufferType } from './trtc_define';
import { TRTCVodPlayerEventMap } from './vod_player';
export interface TRTCVideoRenderCallback {
onRenderVideoFrame(userId: string, streamType: TRTCVideoStreamType, frame: TRTCVideoFrame): void;
}
export interface IVodPlayer {
on<K extends keyof TRTCVodPlayerEventMap>(event: K, listener: (...args: TRTCVodPlayerEventMap[K]) => void): this;
on(event: string | symbol, listener: (...args: any[]) => void): this;
off<K extends keyof TRTCVodPlayerEventMap>(event: K, listener: (...args: TRTCVodPlayerEventMap[K]) => void): this;
off(event: string | symbol, listener: (...args: any[]) => void): this;
setView(view: HTMLElement | null): void;
setRenderRotation(rotation: TRTCVideoRotation): void;
setFillMode(mode: TRTCVideoFillMode): void;
setMirror(mirror: boolean): void;
preload(): void;
start(): void;
pause(): void;
resume(): void;
seek(msPos: number): void;
switchSource(newMediaFile: string): void;
stop(): void;
getDuration(): number;
getWidth(): number;
getHeight(): number;
mute(mute: boolean): void;
setVolume(volume: number): void;
publishVideo(): void;
publishAudio(): void;
unpublishVideo(): void;
unpublishAudio(): void;
}
export interface ITRTCCloud {
createSubCloud(config?: TRTCInitConfig): ITRTCCloud | null;
enterRoom(params: any, scene: TRTCAppScene): void;
exitRoom(): void;
switchRoom(params: TRTCSwitchRoomParam): void;
switchRole(role: TRTCRoleType, privateMapKey?: string): void;
connectOtherRoom(params: string): void;
disconnectOtherRoom(): void;
setDefaultStreamRecvMode(autoRecvAudio: boolean, autoRecvVideo: boolean): void;
startPublishMediaStream(target: TRTCPublishTarget, params: TRTCStreamEncoderParam | null, config: TRTCStreamMixingConfig | null): void;
updatePublishMediaStream(taskId: string, target: TRTCPublishTarget | null, params: TRTCStreamEncoderParam | null, config: TRTCStreamMixingConfig | null): void;
stopPublishMediaStream(taskId: string): void;
startLocalPreview(views: Array<HTMLElement> | HTMLElement | null): void;
stopLocalPreview(): void;
updateLocalView(views: Array<HTMLElement> | HTMLElement | null): void;
setCameraCaptureParams(params: TRTCCameraCaptureParams): void;
muteLocalVideo(mute: boolean, streamType?: TRTCVideoStreamType): void;
setVideoMuteImage(imageBuffer: TRTCImageBuffer | null, fps: number): void;
startRemoteView(userId: string, views: Array<HTMLElement> | HTMLElement | null, streamType?: TRTCVideoStreamType): void;
stopRemoteView(userId: string, streamType?: TRTCVideoStreamType): void;
updateRemoteView(userId: string, views: Array<HTMLElement> | HTMLElement | null, streamType: TRTCVideoStreamType): void;
stopAllRemoteView(): void;
muteRemoteVideoStream(userId: string, mute: boolean, streamType?: TRTCVideoStreamType): void;
muteAllRemoteVideoStreams(mute: boolean): void;
setVideoEncoderParam(params: any): void;
setLocalVideoRenderCallback(pixelFormat: TRTCVideoPixelFormat, bufferType: TRTCVideoBufferType, callback: TRTCVideoRenderCallback | null): number;
setRemoteVideoRenderCallback(userId: string, pixelFormat: TRTCVideoPixelFormat, bufferType: TRTCVideoBufferType, callback: TRTCVideoRenderCallback | null): number;
setNetworkQosParam(params: any): void;
setLocalRenderParams(params: TRTCRenderParams): void;
setRemoteRenderParams(userId: string, streamType: TRTCVideoStreamType, params: TRTCRenderParams): void;
setVideoEncoderRotation(rotation: TRTCVideoRotation): void;
setVideoEncoderMirror(mirror: boolean): void;
enableSmallVideoStream(enable: boolean, params: any): void;
setRemoteVideoStreamType(userId: string, streamType: TRTCVideoStreamType): void;
snapshotVideo(userId: string, type: TRTCVideoStreamType): void;
startLocalRecording(options: {
filePath: string;
recordType: TRTCRecordType;
interval: number;
}): void;
stopLocalRecording(): void;
startLocalAudio(quality?: TRTCAudioQuality): void;
stopLocalAudio(): void;
muteLocalAudio(mute: boolean): void;
muteRemoteAudio(userId: string, mute: boolean): void;
muteAllRemoteAudio(mute: boolean): void;
setRemoteAudioVolume(userId: string, volume: number): void;
setAudioCaptureVolume(volume: number): void;
getAudioCaptureVolume(): number;
setAudioPlayoutVolume(volume: number): void;
getAudioPlayoutVolume(): number;
enableAudioVolumeEvaluation(interval: number): void;
startAudioRecording(params: TRTCAudioRecordingParams | string): number;
stopAudioRecording(): void;
setRemoteAudioParallelParams(param: TRTCAudioParallelParams): void;
enable3DSpatialAudioEffect(enabled: boolean): void;
updateSelf3DSpatialPosition(position: Array<number>, axisForward: Array<number>, axisRight: Array<number>, axisUp: Array<number>): void;
updateRemote3DSpatialPosition(userId: string, position: Array<number>): void;
set3DSpatialReceivingRange(userId: string, range: number): void;
setAudioQuality(quality: TRTCAudioQuality): void;
getCameraDevicesList(): Array<TRTCDeviceInfo>;
setCurrentCameraDevice(deviceId: string): void;
getCurrentCameraDevice(): TRTCDeviceInfo;
getMicDevicesList(): Array<TRTCDeviceInfo>;
getCurrentMicDevice(): TRTCDeviceInfo;
setCurrentMicDevice(micId: string): void;
getCurrentMicDeviceVolume(): number;
setCurrentMicDeviceVolume(volume: number): void;
setCurrentMicDeviceMute(mute: boolean): void;
getCurrentMicDeviceMute(): boolean;
getSpeakerDevicesList(): Array<TRTCDeviceInfo>;
getCurrentSpeakerDevice(): TRTCDeviceInfo;
setCurrentSpeakerDevice(speakerId: string): void;
getCurrentSpeakerVolume(): number;
setCurrentSpeakerVolume(volume: number): void;
setCurrentSpeakerDeviceMute(mute: boolean): void;
getCurrentSpeakerDeviceMute(): boolean;
enableFollowingDefaultAudioDevice(deviceType: TRTCDeviceType, enable: boolean): void;
setBeautyStyle(style: TRTCBeautyStyle, beauty: number, white: number, ruddiness: number): void;
setWaterMark(streamType: TRTCVideoStreamType, srcData: ArrayBuffer | string | null, srcType: TRTCWaterMarkSrcType, nWidth: number, nHeight: number, xOffset: number, yOffset: number, fWidthRatio: number): void;
getScreenCaptureSources(thumbWidth: number, thumbHeight: number, iconWidth: number, iconHeight: number): Array<TRTCScreenCaptureSourceInfo>;
selectScreenCaptureTarget(source: TRTCScreenCaptureSourceInfo | number, captureRect: Rect | string, property: TRTCScreenCaptureProperty | string, deprecatedCaptureRect?: Rect, captureMouse?: boolean, highlightWindow?: boolean): void;
startScreenCapture(view?: HTMLElement | null, type?: TRTCVideoStreamType, params?: any): void;
pauseScreenCapture(): void;
resumeScreenCapture(): void;
stopScreenCapture(): void;
setSubStreamEncoderParam(params: any): void;
setSubStreamMixVolume(volume: number): void;
addExcludedShareWindow(win: string): void;
removeExcludedShareWindow(win: string): void;
removeAllExcludedShareWindow(): void;
addIncludedShareWindow(win: string): void;
removeIncludedShareWindow(win: string): void;
removeAllIncludedShareWindow(): void;
enableCustomAudioCapture(enable: boolean): void;
sendCustomAudioData(frame: TRTCAudioFrame): void;
enableMixExternalAudioFrame(enablePublish: boolean, enablePlayout: boolean): void;
mixExternalAudioFrame(frame: TRTCAudioFrame): number;
setMixExternalAudioVolume(publishVolume: number, playoutVolume: number): void;
generateCustomPTS(): number;
setAudioFrameCallback(callback: TRTCAudioFrameCallback): void;
sendCustomCmdMsg(cmdId: number, msg: string, reliable: boolean, ordered: boolean): boolean;
sendSEIMsg(msg: ArrayBuffer | ArrayBufferView, repeatCount: number): boolean;
startSystemAudioLoopback(path?: string | null): void;
stopSystemAudioLoopback(): void;
setSystemAudioLoopbackVolume(volume: number): void;
setMusicObserver(observer: TRTCMusicPlayObserver): void;
startPlayMusic(musicParam: AudioMusicParam, callbackMap?: TRTCMusicPlayObserver): void;
stopPlayMusic(id: number): void;
pausePlayMusic(id: number): void;
resumePlayMusic(id: number): void;
getMusicCurrentPosInMS(id: number): Promise<number> | number;
getMusicDurationInMS(path: string): number;
seekMusicToPosInTime(id: number, pts: number): void;
setAllMusicVolume(volume: number): void;
setMusicPlayoutVolume(id: number, volume: number): void;
setMusicPublishVolume(id: number, volume: number): void;
enableVoiceEarMonitor(enable: boolean): void;
setVoiceEarMonitorVolume(volumn: number): void;
setVoiceCaptureVolume(volume: number): void;
setVoicePitch(pitch: number): void;
setVoiceReverbType(type: TRTCVoiceReverbType): void;
setVoiceChangerType(type: TRTCVoiceChangerType): void;
startSpeedTest(params: TRTCSpeedTestParams | number, userId?: string, userSig?: string): number;
stopSpeedTest(): void;
startCameraDeviceTest(view: HTMLElement): void;
stopCameraDeviceTest(): void;
startMicDeviceTest(interval: number, playback?: boolean): void;
stopMicDeviceTest(): void;
startSpeakerDeviceTest(testAudioFilePath: string): void;
stopSpeakerDeviceTest(): void;
getSDKVersion(): string;
setLogLevel(level: TRTCLogLevel): void;
setConsoleEnabled(enabled: boolean): void;
setLogCompressEnabled(enabled: boolean): void;
setLogDirPath(path: string): void;
setLogCallback(callback?: ((log: string, level: TRTCLogLevel, module: string) => void) | null): void;
setPluginParams(type: TRTCPluginType, options: TRTCVideoProcessPluginOptions | TRTCMediaEncryptDecryptPluginOptions | TRTCAudioProcessPluginOptions): void;
addPlugin(options: {
id: string;
path: string;
type?: TRTCPluginType;
deviceId?: string;
}): TRTCPluginInfo;
removePlugin(id: string, deviceId?: string): void;
setPluginCallback(pluginCallback: (pluginId: string, errorCode: number, msg: string) => void): void;
callExperimentalAPI(jsonStr: string): void;
getMediaMixingManager(): TRTCMediaMixingManager | null;
getMediaMixingService(): TRTCMediaMixingService | null;
destroy(): void;
}