import { XYAudioPCMOptions } from './index.type'; import { XYAudioPCMExtension } from '.'; import { XYProcessorIF } from '../../../interface/processor.type'; import { IProcessTrack } from '../../../type/track'; /** * PCM音频处理器类, 使用AudioWorklet实时处理MediaStream中的音频数据 */ declare class XYAudioPCMProcessor implements XYProcessorIF { private pluginInstance; /** 用于处理音频的AudioWorklet节点 */ private workletNode; /** 用于处理Web Audio API操作的音频上下文 */ private audioContext; /** 插件状态 */ private enablePlugin; /** 音频流 */ private audioStream; /** 配置项 */ private config; /** 回调函数 */ private onData?; private onError?; static isSupportAudioContext(): boolean; /** * 构造函数 * @param config 配置项 */ constructor(config: XYAudioPCMOptions | undefined, pluginInstance: XYAudioPCMExtension); getProcessorType(): import('../index.type').PluginType; setOptions(config: XYAudioPCMOptions): void; /** * 启用插件 * * @returns { Promise } - 返回Promise对象 */ enable(): Promise; /** * 禁用插件 * * @returns { Promise } - 返回Promise对象 */ disable(): Promise; private setReportEnabled; /** * 获取插件状态 */ getEnablePluginState(): boolean; private initEvent; /** * 开始处理音频数据 * 初始化AudioContext和AudioWorklet,建立音频处理管道 * @throws 如果音频流未激活或处理失败 */ process(processTrack: IProcessTrack): Promise; /** * 销毁音频处理器 * * 使用场景:当不再需要音频处理器时,调用此方法清理资源 * 调用时机:处理器实例需要销毁时 */ destroy(): void; /** * 清理音频处理资源 * 断开AudioWorklet连接并关闭AudioContext */ private cleanup; } export { XYAudioPCMProcessor };