UNPKG

yirtc-sdk-web

Version:

基于WebRTC的实时音视频SDK

159 lines (158 loc) 3.93 kB
/** * YiRTC SDK 类型定义 */ export interface ClientConfig { appKey: string; logLevel?: LogLevel; signaling?: { type: string; url: string; options?: any; }; rtc?: { iceServers?: RTCIceServer[]; iceTransportPolicy?: RTCIceTransportPolicy; }; } export interface StreamConfig { audio?: boolean; video?: boolean; screen?: boolean; microphoneId?: string; cameraId?: string; videoProfile?: VideoProfileType; } export declare enum VideoProfileType { LOW = "120p", STANDARD = "360p", HIGH = "720p", SUPER = "1080p" } export declare enum LogLevel { DEBUG = "debug", INFO = "info", WARN = "warn", ERROR = "error", NONE = "none" } export declare enum ConnectionState { DISCONNECTED = "DISCONNECTED", CONNECTING = "CONNECTING", CONNECTED = "CONNECTED", RECONNECTING = "RECONNECTING", FAILED = "FAILED" } export declare enum ClientRole { HOST = "host", AUDIENCE = "audience" } export declare enum ChannelProfile { COMMUNICATION = "communication", LIVE_BROADCASTING = "live" } export type MediaType = 'audio' | 'video' | 'screen' | 'audioSlave'; export declare enum MediaTypeEnum { AUDIO = "audio", VIDEO = "video", SCREEN = "screen", AUDIO_SLAVE = "audioSlave" } export declare enum ErrorCode { SUCCESS = 0, UNKNOWN_ERROR = 1, INVALID_PARAMS = 2, INVALID_OPERATION = 3, NOT_SUPPORTED = 4, SIGNALING_CONNECT_FAILED = 1000, SIGNALING_DISCONNECTED = 1001, SIGNALING_JOIN_FAILED = 1002, SIGNALING_MESSAGE_TIMEOUT = 1003, SIGNALING_CONNECTION_ERROR = 1004, RTC_CREATE_OFFER_FAILED = 2000, RTC_CREATE_ANSWER_FAILED = 2001, RTC_SET_LOCAL_DESC_FAILED = 2002, RTC_SET_REMOTE_DESC_FAILED = 2003, RTC_ADD_ICE_CANDIDATE_FAILED = 2004, RTC_CONNECTION_FAILED = 2005, MEDIA_DEVICE_NOT_FOUND = 3000, MEDIA_DEVICE_PERMISSION_DENIED = 3001, MEDIA_DEVICE_NOT_READABLE = 3002, MEDIA_DEVICE_OVERCONSTRAINED = 3003, MEDIA_DEVICE_TYPE_ERROR = 3004, MEDIA_DEVICE_BUSY = 3005, MEDIA_TRACK_ENDED = 3006, NETWORK_TIMEOUT = 4000, NETWORK_DISCONNECTED = 4001, NETWORK_UNSTABLE = 4002, AUTH_INVALID_TOKEN = 5000, AUTH_TOKEN_EXPIRED = 5001, AUTH_INVALID_APPKEY = 5002 } /** * 错误信息接口 */ export interface ErrorInfo { code: ErrorCode; message: string; detail?: any; } export interface DeviceInfo { deviceId: string; label: string; } export interface JoinOptions { channelName: string; uid: string | number; token?: string; } export interface RemoteStreamInfo { streamId: string; userId: string | number; hasVideo?: boolean; hasAudio?: boolean; hasScreen?: boolean; mediaType?: MediaType; } export interface SubscribeOptions { audio?: boolean; video?: boolean; screen?: boolean; mediaType?: MediaType; } export interface UnsubscribeOptions { audio?: boolean; video?: boolean; screen?: boolean; mediaType?: MediaType; } export interface NetworkStats { uplinkNetworkQuality: number; downlinkNetworkQuality: number; } export interface LocalAudioStats { sendBitrate: number; sendVolume: number; } export interface LocalVideoStats { sendBitrate: number; sendFrameRate: number; sendResolution: { width: number; height: number; }; } export interface RemoteAudioStats { uid: string | number; receiveBitrate: number; receiveVolume: number; audioLossRate: number; } export interface RemoteVideoStats { uid: string | number; receiveBitrate: number; receiveFrameRate: number; receiveResolution: { width: number; height: number; }; }