@rongcloud/plugin-wechat-rtc
Version:
@rongcloud/plugin-wechat-rtc
40 lines • 1.64 kB
TypeScript
import { ICoreContextEventListener, ILivePusherNetStatus, ILivePlayerNetStatus } from './interfaces';
import { RCAudioOutputDevice } from '../components/enum';
import { EventEmitter } from '@rongcloud/engine';
declare class Context<T> {
private _listeners;
addEventListener(listener: T): void;
dispatch(eventType: keyof T, ...attrs: any[]): void;
}
/**
* 负责 RTCLIb 数据到 rc-liveplayer 和 rc-livepusher 流向
*/
export declare class RCCoreContext extends Context<ICoreContextEventListener> {
private _soundMode;
setSoundMode(mode: RCAudioOutputDevice): void;
getSoundMode(): RCAudioOutputDevice;
}
/**
* 负责 rc-livepusher 事件数据到 RTCLib 的流向
*/
export declare class RCPusherContext extends EventEmitter {
setNetStatusListener(listenerEvent: ((data: ILivePusherNetStatus) => void) | null): void;
setLocalAudioLevelListener(listenerEvent: ((volume: number) => void) | null): void;
}
/**
* 负责 rc-liveplayer 事件数据到 RTCLib 流向
*/
export declare class RCPlayerContext extends EventEmitter {
setNetStatusListener(listenerEvent: ((id: string, data: ILivePlayerNetStatus) => void) | null): void;
setRemoteAudioLevelListener(listenerEvent: ((id: string, volume: number) => void) | null): void;
}
export declare const getCoreContext: () => RCCoreContext;
export declare const getPusherContext: () => RCPusherContext;
export declare const getPlayerContext: () => RCPlayerContext;
declare global {
var coreContext: RCCoreContext;
var pusherContext: RCPusherContext;
var playerContext: RCPlayerContext;
}
export {};
//# sourceMappingURL=RCCoreContext.d.ts.map