| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- export declare type VideoCodec = 'vp8'|'h264';
- export declare type AudioCodec = 'opus';
- export declare type RoomType = 'rtc'|'live';
- export declare type UserRole = 'pull'|'push'|'push-and-pull';
- export declare type DeviceType = 'audio'|'video';
- // 业务方使用的事件类型
- export declare type EventType = 'user-added' | 'user-removed' |
- 'stream-added' | 'stream-removed' | 'stream-published' | 'stream-subscribed' |
- 'mute-video' | 'unmute-video' | 'mute-audio' | 'unmute-audio' | 'screenshare-stopped';
- export declare type WaterMarkPosition = 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom'; // 左上,左下,右上,右下
- export declare type WaterMarkType = 'time' | 'image' | 'text';
- export declare type MainViewType = 'desktop' | 'screen' | 'camera'; // todo - remove desktop
- export interface ClientOptions {
- type?: RoomType
- role?: UserRole
- codec?: VideoCodec // 可设 vp8 或 h264,默认为 vp8
- }
- export interface Codecs {
- audio: Array<string>,
- video: Array<string>
- }
- export interface PublishOptions {
- audio: boolean // 是否开启麦克风
- video: boolean // 是否开启摄像头
- screen: boolean // 是否共享屏幕
- microphoneId?: string // 麦克风设备ID
- cameraId?: string // 摄像头设备ID
- extensionId?: string // chrome插件ID
- mediaStream?: MediaStream // 自定义的媒体流
- }
- export interface DeviceOptions {
- audio: boolean // 是否开启麦克风
- video: boolean // 是否开启摄像头
- microphoneId?: string // 麦克风设备ID
- cameraId?: string // 摄像头设备ID
- }
- export interface DeviceDetectionOptions {
- audio: boolean // 必填,指定是否检测麦克风设备
- video: boolean // 必填,指定是否检测摄像头设备
- microphoneId?: string // 选填,指定需要检测的麦克风设备的ID,可通过 getMicrophones 方法查询获得该ID,不填时,将检测默认的麦克风设备
- cameraId?: string // 选填,指定需要检测的摄像头设备的ID,可以通过 getCameras 方法查询获得该ID,不填时,将检测默认的摄像头设备
- }
- export interface User {
- uid: string // 用户ID
- }
- export interface Stream {
- sid: string // 流ID
- uid: string // 对应的用户的ID
- type: 'publish'|'subscribe' // 流类型
- mediaType?: 'camera'|'screen' // 流的媒体类型,用于对发布流的区分
- video: boolean // 是否包含音频
- audio: boolean // 是否包含视频
- muteAudio: boolean // 音频是否静音
- muteVideo: boolean // 视频是否静音
- mediaStream?: MediaStream // 业务侧自定义媒体流
- }
- export interface LeaveRoomOptions {
- keepRecording: boolean // 是否保持服务端录制,默认不保持
- }
- export interface AudioVolumeOptions {
- streamId?: string
- element?: HTMLMediaElement
- volume: number
- }
- export interface WaterMarkOptions {
- position?: WaterMarkPosition
- type?: WaterMarkType // 水印类型
- remarks?: string // 水印备注
- }
- export interface MixStreamOptions {
- uid?: string // 指定某用户的流为主画面
- type?: MainViewType // 主画面类型
- width?: number // 混流后视频的宽度
- height?: number // 混流后视频的高度
- template?: number // 混流模板,对应不同的录制布局
- isAverage?: boolean // 是否均匀,均分对应平铺,不均分对应垂直
- }
- export interface RecordOptions {
- waterMark?: WaterMarkOptions
- mixStream?: MixStreamOptions
- bucket: string
- region: string
- }
- export interface Record {
- FileName: string,
- RecordId: string
- }
- export interface EffectOptions {
- streamId?: string
- effectId: number
- filePath?: string
- loop?: boolean
- playTime?: number
- replace?: boolean
- }
- export interface EffectVolumeOptions {
- streamId?: string
- effectId: number
- volume: number
- }
- export interface SwitchDeviceOptions {
- streamId?: string
- type: DeviceType
- deviceId: string
- }
- export interface SwitchImageOptions {
- streamId?: string
- file?: File,
- filePath?: string
- }
- export interface SnapshotOptions {
- streamId?: string
- download?: string | boolean
- }
- export interface AudioStats {
- br: number
- lostpre: number
- vol: number
- mime: string
- }
- export interface VideoStats {
- br: number,
- lostpre: number,
- frt: number,
- w: number,
- h: number,
- mime: string
- }
- export interface NetworkStats {
- rtt: number
- }
|