UNPKG

@byomakase/omakase-player

Version:

## Omakase Player - Open source JavaScript framework for building frame accurate video experiences

34 lines (33 loc) 1.74 kB
import { Destroyable, OmpAudioRouterChangeEvent } from '../types'; import { Observable, Subject } from 'rxjs'; import { AudioInputOutputNode, OmpAudioRouterState } from './model'; import { AudioRouterApi } from '../api/audio-router-api'; export declare class OmpAudioRouter implements AudioRouterApi, Destroyable { readonly onChange$: Subject<OmpAudioRouterChangeEvent>; protected _inputsNumber: number; protected _outputsNumber: number; protected _sourceAudioNode?: AudioNode; protected _channelSplitterNode: ChannelSplitterNode; protected _channelMergerNode: ChannelMergerNode; /** * Mapped by inputNumber, then by outputNumber * @protected */ protected _audioInputOutputNodes: Map<number, Map<number, AudioInputOutputNode>>; protected _destroyed$: Subject<void>; protected static readonly defaultAudioOutputsResolver: (maxChannelCount: number) => number; constructor(audioContext: AudioContext, inputsNumber: number, outputsNumberResolver?: (maxChannelCount: number) => number); get isSourceConnected(): boolean; disconnectSource(): void; connectSource(audioNode: AudioNode): void; routeAudioInputOutputNodes(newAudioInputOutputNodes: AudioInputOutputNode[]): Observable<void>; routeAudioInputOutputNode(newAudioInputOutputNode: AudioInputOutputNode): Observable<void>; getAudioInputOutputNodes(): AudioInputOutputNode[][]; get sourceAudioNode(): AudioNode | undefined; get inputsNumber(): number; get outputsNumber(): number; getAudioRouterState(): OmpAudioRouterState; protected dispatchOnChange(): void; protected _routeAudioInputOutputNode(newNode: AudioInputOutputNode, emitEvent?: boolean): void; destroy(): void; }