import { default as XYRTCClient } from '../client'; import { default as Logger } from '../../tools/log/logger'; import { XYMuteState } from '../../type/index'; declare class AudioManager { private clientInstance; private logger; private streamId; audioElement: HTMLAudioElement | null; constructor(clientInstance: XYRTCClient, logger: Logger); getAudioElement(): HTMLAudioElement | null; /** * 设置音频是否静音 * * @param { XYMuteState } state - 视频静音状态 */ setMuteState(state: XYMuteState): void; /** * 播放音频 */ play(): Promise; /** * 设置音频流和音频元素 * * @param { string } streamId - MediaStream流ID * @param { HTMLAudioElement } ele - Audio元素 */ setStreamAndElement(streamId: string, ele: HTMLAudioElement): void; /** * 设置当前Audio对应的Audio元素 */ setSource(): Promise; /** * 创建Audio元素 * * @param { string } streamId - MediaStream流ID * @param { HTMLAudioElement } ele - Audio元素 * @returns { HTMLAudioElement } */ private detectCreateAudioElement; /** * 销毁AudioManager */ destroy(): void; } export default AudioManager;