UNPKG

pj-trtc-web

Version:

品杰科技音视频通话组件

138 lines (126 loc) 4 kB
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 { private static trtc; private static isOpenBasicBeauty; /** * 获取摄像头列表 * @returns */ static getCameraList(): Promise<DeviceItem[]>; /** * 获取麦克风列表 * @returns */ static getMicrophoneList(): Promise<DeviceItem[]>; /** * 获取扬声器列表 * @returns */ static getSpeakerList(): Promise<DeviceItem[]>; /** * 是否支持当前浏览器 * @returns */ static isSupported(): Promise<boolean>; /** * 测试视频 * @param viewId */ static testVideo(cameraId: string, viewId: string): Promise<void>; /** * 停止测试视频 */ static stopTestVideo(): Promise<void>; /** * 测试音频 */ static testAudio(microphoneId: string, handler: (microphoneId: string, volume: number) => void): Promise<void>; /** * 停止测试音频 */ static stopTestAudio(): Promise<void>; /** * 设置美颜 * @returns */ static setBasicBeauty(beauty: number, brightness: number, ruddy: number): Promise<void>; } 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>; setBasicBeauty: (beauty: number, brightness: number, ruddy: number) => 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", AudioVolume = "AudioVolume" } export declare interface TRTCParams { /** 房间ID */ roomId: string | number; /** SDK应用ID */ sdkAppId: string | number; /** 用户ID */ userId: string; /** 用户签名 */ userSig: string; /** 私有化key */ privateMapKey?: string; /** 视频分辨率*/ videoProfile?: keyof typeof videoProfileMap; /** 摄像头ID */ cameraId?: string; /** 麦克风ID */ microphoneId?: string; /** 扬声器ID */ speakerId?: string; /** 是否打开摄像头 */ openCamera?: boolean; /** 是否打开麦克风 */ openMicrophone?: boolean; } export { }