import { AudioApi } from '../api'; import { BehaviorSubject, Observable } from 'rxjs'; import { AudioLoadedEvent, AudioPeakProcessorMessageEvent, AudioSwitchedEvent, AudioUpdatedEvent, Destroyable, MainAudioChangeEvent, MainAudioInputSoloMuteEvent, OmpAudioTrack, OmpAudioTrackCreateType, SidecarAudioChangeEvent, SidecarAudioCreateEvent, SidecarAudioInputSoloMuteEvent, SidecarAudioLoadedEvent, SidecarAudioPeakProcessorMessageEvent, SidecarAudioRemoveEvent, SidecarAudiosChangeEvent, SidecarAudioVolumeChangeEvent, VolumeChangeEvent } from '../types'; import { AudioMeterStandard, OmpAudioRouterState, OmpAudioRoutingConnection, OmpAudioRoutingPath, OmpMainAudioState, OmpSidecarAudioState, VideoControllerApi } from '../video'; import { OmpAudioRouter } from '../video/audio-router'; import { SidecarAudioApi } from '../api/sidecar-audio-api'; import { OmpAudioEffectFactory, OmpAudioEffectFilter, OmpAudioEffectParam } from './audio-effects'; import { OmpAudioRoutingInputType, OmpMainAudioInputSoloMuteState, OmpSidecarAudioInputSoloMuteState } from '../video/model'; import { OmpAudioEffectsGraphConnection, OmpAudioEffectsGraphDef } from './model'; export declare class AudioController implements AudioApi, Destroyable { readonly onAudioLoaded$: BehaviorSubject; readonly onAudioSwitched$: Observable; readonly onAudioUpdated$: Observable; readonly onAudioOutputVolumeChange$: Observable; readonly onMainAudioChange$: Observable; readonly onMainAudioPeakProcessorMessage$: Observable; readonly onMainAudioInputSoloMute$: Observable; readonly onSidecarAudioCreate$: Observable; readonly onSidecarAudioLoaded$: Observable; readonly onSidecarAudioRemove$: Observable; readonly onSidecarAudioChange$: Observable; readonly onSidecarAudioVolumeChange$: Observable; readonly onSidecarAudioPeakProcessorMessage$: Observable; readonly onSidecarAudioInputSoloMute$: Observable; readonly onSidecarAudiosChange$: Observable; protected _videoController: VideoControllerApi; constructor(videoController: VideoControllerApi); getActiveAudioTrack(): OmpAudioTrack | undefined; getAudioTracks(): OmpAudioTrack[]; setActiveAudioTrack(id: string): Observable; updateAudioTrack(audioTrack: OmpAudioTrack): Observable; getAudioContext(): AudioContext; toggleMainAudioRouterSolo(routingPath: OmpAudioRoutingInputType): Observable; toggleMainAudioRouterMute(routingPath: OmpAudioRoutingInputType): Observable; getAudioOutputVolume(): number; isAudioOutputMuted(): boolean; setAudioOutputMuted(muted: boolean): Observable; toggleAudioOutputMuteUnmute(): Observable; muteAudioOutput(): Observable; unmuteAudioOutput(): Observable; setAudioOutputVolume(volume: number): Observable; getMainAudioNode(): AudioNode | undefined; getMainAudioState(): OmpMainAudioState | undefined; getMainAudioRouter(): OmpAudioRouter | undefined; getMainAudioInputSoloMuteState(): OmpMainAudioInputSoloMuteState | undefined; getMainAudioRouterInitialRoutingConnections(): OmpAudioRoutingConnection[] | undefined; setMainAudioRouterInitialRoutingConnections(connections: OmpAudioRoutingConnection[]): Observable; createMainAudioRouter(inputsNumber: number, outputsNumber?: number): Observable; createMainAudioRouterWithOutputsResolver(inputsNumber: number, outputsNumberResolver: (maxChannelCount: number) => number): Observable; createMainAudioPeakProcessor(audioMeterStandard?: AudioMeterStandard): Observable>; updateMainAudioRouterConnections(connections: OmpAudioRoutingConnection[]): Observable; setMainAudioEffectsGraphs(effectsGraphDef: OmpAudioEffectsGraphDef, effectsGraphConnection: OmpAudioEffectsGraphConnection): Observable; removeMainAudioEffectsGraphs(effectsGraphConnection: OmpAudioEffectsGraphConnection): Observable; setMainAudioEffectsParams(param: OmpAudioEffectParam, effectGraphConnection: OmpAudioEffectsGraphConnection, filter?: OmpAudioEffectFilter): Observable; getSidecarAudios(): SidecarAudioApi[]; getSidecarAudio(id: string): SidecarAudioApi | undefined; getSidecarAudioState(id: string): OmpSidecarAudioState | undefined; getSidecarAudioInputSoloMuteState(id: string): OmpSidecarAudioInputSoloMuteState | undefined; getSidecarAudioRouterInitialRoutingConnections(id: string): OmpAudioRoutingConnection[] | undefined; setSidecarAudioRouterInitialRoutingConnections(id: string, connections: OmpAudioRoutingConnection[]): Observable; createSidecarAudioTrack(track: OmpAudioTrackCreateType): Observable; createSidecarAudioTracks(tracks: OmpAudioTrackCreateType[]): Observable; activateSidecarAudioTracks(ids: string[] | undefined, deactivateOthers: boolean | undefined): Observable; deactivateSidecarAudioTracks(ids: string[] | undefined): Observable; muteSidecar(ids: string[] | undefined): Observable; setSidecarVolume(volume: number, ids: string[] | undefined): Observable; setSidecarMuted(muted: boolean, ids: string[] | undefined): Observable; unmuteSidecar(ids: string[] | undefined): Observable; getActiveSidecarAudioTracks(): OmpAudioTrack[]; getSidecarAudioTracks(): OmpAudioTrack[]; removeSidecarAudioTracks(ids: string[]): Observable; removeAllSidecarAudioTracks(): Observable; createSidecarAudioRouter(sidecarAudioTrackId: string, inputsNumber?: number, outputsNumber?: number): Observable; updateSidecarAudioRouterConnections(sidecarAudioTrackId: string, connections: OmpAudioRoutingConnection[]): Observable; setSidecarAudioEffectsGraph(sidecarAudioTrackId: string, effectsGraphDef: OmpAudioEffectsGraphDef, effectsGraphConnection: OmpAudioEffectsGraphConnection): Observable; removeSidecarAudioEffectsGraphs(sidecarAudioTrackId: string, effectsGraphConnection: OmpAudioEffectsGraphConnection): Observable; setSidecarAudioEffectsParams(sidecarAudioTrackId: string, param: OmpAudioEffectParam, effectGraphConnection: OmpAudioEffectsGraphConnection, filter?: { routingPath?: Partial; } & OmpAudioEffectFilter): Observable; createSidecarAudioPeakProcessor(sidecarAudioTrackId: string, audioMeterStandard?: AudioMeterStandard): Observable>; exportMainAudioTrackToSidecar(mainAudioTrackId: string): Observable; exportMainAudioTracksToSidecar(mainAudioTrackIds: string[]): Observable; toggleSidecarAudioRouterSolo(sidecarAudioTrackId: string, routingPath: OmpAudioRoutingInputType): Observable; toggleSidecarAudioRouterMute(sidecarAudioTrackId: string, routingPath: OmpAudioRoutingInputType): Observable; registerAudioEffect(effectType: string, effectFactory: OmpAudioEffectFactory): void; destroy(): void; }