pj-trtc-web
Version:
品杰科技音视频通话组件
138 lines (126 loc) • 4 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 {
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 { }