import { CaptureStatus, IEnableStreamConfig, IEnabledCapture, IStreamCurrent } from '../../type/index'; import { default as VideoAudioTrack } from './videoAudioTrack'; declare class videoAudioCapture { private enabledCapture; private track; private logger; currentMode: IStreamCurrent; constructor(track: VideoAudioTrack); getEnableCapture(): IEnabledCapture; getCurrentMode(): IStreamCurrent; setEnableCapture(config: IEnabledCapture): void; /** * 初始化采集配置 * * @param { boolean } muteAudio - 是否静音麦克风,true为静音麦克风,false是开启麦克风 * @param { boolean } muteVideo - 是否静音摄像头,true为关闭摄像头,false是开启摄像头 */ initCaptureConfig(muteAudio: boolean, muteVideo: boolean): void; createUserMediaStream(): Promise; createAudioStream(enableStreamConfig: IEnableStreamConfig, video: CaptureStatus, audio: CaptureStatus): Promise; createVideoMediaStream(enableStreamConfig: IEnableStreamConfig, video: CaptureStatus, audio: CaptureStatus): Promise; createVideoAudioStream(enableStreamConfig: IEnableStreamConfig, video: CaptureStatus, audio: CaptureStatus): Promise; /** * 采集基础视频流失败,返回错误码 * * @param { IStreamConfig } enableStreamConfig - 最大分辨率流配置 * @param { IReturnResult } error - 错误码 * @param { BaseStreamErrorParams } params - 配置 * @returns { Promise } 返回新的错误码 */ private handleCaptureStreamException; /** * 处理采集音/视频流异常 * * @param { IEnableStreamConfig } enableStreamConfig - 可用流的配置 */ private handleCreateVideoAudioStreamError; /** * 重新尝试采集基础音频流 * 采集音频,不需要接收之前的StreamConfig,重新生成即可 * * @param { IStreamConfig } enableStreamConfig - 可分配的流配置 * @returns { Promise } */ private recreateAudioMediaStream; /** * 重新尝试采集基础视频流 * * @param { IStreamConfig } enableStreamConfig - 可分配的流配置 * @returns { Promise } */ private recreateVideoMediaStream; /** * 采集视频和音频流 * * @param { MediaStreamConstraints } constraints - 流约束配置 * @returns { MediaStream } */ private getUserMediaStream; /** * 获取通用采集音视频流约束配置 * * @param { IStreamConfig } enableStreamConfig - 可用的流配置,包含视频和音频Stream配置 * @returns */ private getUserMediaConstraints; /** * 向约束配置追加设备信息 * * @param { object } constraints - 约束配置 */ private appendDeviceConstraints; /** * 更新Stream配置状态 * * @param { IStreamConfig } maxStreamConfig - 流配置 */ updateCurrentMode(): void; private closeStream; } export default videoAudioCapture;