pj-trtc-web
Version:
品杰科技音视频通话组件
98 lines (87 loc) • 2.84 kB
TypeScript
import { App } from 'vue';
import { videoProfileMap } from 'trtc-sdk-v5';
declare const _default: {
install(app: App): void;
};
export default _default;
export declare interface DeviceInfo {
deviceId: string;
groupId: string;
kind: 'videoinput' | 'audioinput' | 'audiooutput';
label: string;
}
declare type DeviceItem = Record<string, any>;
export declare class DeviceUtil {
/**
* 获取摄像头列表
* @returns
*/
static getCameraList(): Promise<DeviceItem[]>;
/**
* 获取麦克风列表
* @returns
*/
static getMicrophoneList(): Promise<DeviceItem[]>;
/**
* 获取扬声器列表
* @returns
*/
static getSpeakerList(): Promise<DeviceItem[]>;
/**
* 是否支持当前浏览器
* @returns
*/
static isSupported(): Promise<boolean>;
}
export declare const PjTrtcWeb: {
install(app: App): void;
};
export declare interface PjTrtcWebInstance {
start: (params?: TRTCParams) => void;
exit: () => void;
setVideoDisplayName: (userId: string, displayName: string) => void;
getCameraList: () => Promise<DeviceInfo[]>;
getMicrophoneList: () => Promise<DeviceInfo[]>;
switchCamera: (deviceId: string) => void;
switchMicrophone: (deviceId: string) => void;
setCurrentSpeaker: (deviceId: string) => void;
setVideoProfile: (profile: keyof typeof videoProfileMap) => void;
sendCustomMessage: (cmdId: number, msg: string) => void;
switchFrontCamera: () => void;
toggleVideo: () => Promise<boolean>;
toggleAudio: () => Promise<boolean>;
toggleScreenShare: () => Promise<boolean>;
}
export declare interface PjTrtcWebProps {
params?: TRTCParams;
autoEnterRoom?: boolean;
}
export declare enum RoomEvents {
EnterRoom = "EnterRoom",
ExitRoom = "ExitRoom",
KickedOut = "KickedOut",
RemoteUserEnter = "RemoteUserEnter",
RemoteUserExit = "RemoteUserExit",
RemoteVideoAvailable = "RemoteVideoAvailable",
RemoteVideoUnavailable = "RemoteVideoUnavailable",
RemoteAudioAvailable = "RemoteAudioAvailable",
RemoteAudioUnavailable = "RemoteAudioUnavailable",
ScreenShareStopped = "ScreenShareStopped",
CustomMessage = "CustomMessage",
NetworkQuality = "NetworkQuality",
ConnectionStateChanged = "ConnectionStateChanged",
AudioPlayStateChanged = "AudioPlayStateChanged",
VideoPlayStateChanged = "VideoPlayStateChanged"
}
export declare interface TRTCParams {
roomId: string | number;
sdkAppId: string | number;
userId: string;
userSig: string;
privateMapKey?: string;
videoProfile?: keyof typeof videoProfileMap;
cameraId?: string;
microphoneId?: string;
speakerId?: string;
}
export { }