@byomakase/omakase-player
Version:
## Omakase Player - Open source JavaScript framework for building frame accurate video experiences
88 lines (87 loc) • 7.54 kB
TypeScript
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<AudioLoadedEvent | undefined>;
readonly onAudioSwitched$: Observable<AudioSwitchedEvent>;
readonly onAudioUpdated$: Observable<AudioUpdatedEvent>;
readonly onAudioOutputVolumeChange$: Observable<VolumeChangeEvent>;
readonly onMainAudioChange$: Observable<MainAudioChangeEvent | undefined>;
readonly onMainAudioPeakProcessorMessage$: Observable<AudioPeakProcessorMessageEvent>;
readonly onMainAudioInputSoloMute$: Observable<MainAudioInputSoloMuteEvent | undefined>;
readonly onSidecarAudioCreate$: Observable<SidecarAudioCreateEvent>;
readonly onSidecarAudioLoaded$: Observable<SidecarAudioLoadedEvent>;
readonly onSidecarAudioRemove$: Observable<SidecarAudioRemoveEvent>;
readonly onSidecarAudioChange$: Observable<SidecarAudioChangeEvent>;
readonly onSidecarAudioVolumeChange$: Observable<SidecarAudioVolumeChangeEvent>;
readonly onSidecarAudioPeakProcessorMessage$: Observable<SidecarAudioPeakProcessorMessageEvent>;
readonly onSidecarAudioInputSoloMute$: Observable<SidecarAudioInputSoloMuteEvent>;
readonly onSidecarAudiosChange$: Observable<SidecarAudiosChangeEvent>;
protected _videoController: VideoControllerApi;
constructor(videoController: VideoControllerApi);
getActiveAudioTrack(): OmpAudioTrack | undefined;
getAudioTracks(): OmpAudioTrack[];
setActiveAudioTrack(id: string): Observable<void>;
updateAudioTrack(audioTrack: OmpAudioTrack): Observable<void>;
getAudioContext(): AudioContext;
toggleMainAudioRouterSolo(routingPath: OmpAudioRoutingInputType): Observable<void>;
toggleMainAudioRouterMute(routingPath: OmpAudioRoutingInputType): Observable<void>;
getAudioOutputVolume(): number;
isAudioOutputMuted(): boolean;
setAudioOutputMuted(muted: boolean): Observable<void>;
toggleAudioOutputMuteUnmute(): Observable<void>;
muteAudioOutput(): Observable<void>;
unmuteAudioOutput(): Observable<void>;
setAudioOutputVolume(volume: number): Observable<void>;
getMainAudioNode(): AudioNode | undefined;
getMainAudioState(): OmpMainAudioState | undefined;
getMainAudioRouter(): OmpAudioRouter | undefined;
getMainAudioInputSoloMuteState(): OmpMainAudioInputSoloMuteState | undefined;
getMainAudioRouterInitialRoutingConnections(): OmpAudioRoutingConnection[] | undefined;
setMainAudioRouterInitialRoutingConnections(connections: OmpAudioRoutingConnection[]): Observable<void>;
createMainAudioRouter(inputsNumber: number, outputsNumber?: number): Observable<OmpAudioRouterState>;
createMainAudioRouterWithOutputsResolver(inputsNumber: number, outputsNumberResolver: (maxChannelCount: number) => number): Observable<OmpAudioRouterState>;
createMainAudioPeakProcessor(audioMeterStandard?: AudioMeterStandard): Observable<Observable<AudioPeakProcessorMessageEvent>>;
updateMainAudioRouterConnections(connections: OmpAudioRoutingConnection[]): Observable<void>;
setMainAudioEffectsGraphs(effectsGraphDef: OmpAudioEffectsGraphDef, effectsGraphConnection: OmpAudioEffectsGraphConnection): Observable<void>;
removeMainAudioEffectsGraphs(effectsGraphConnection: OmpAudioEffectsGraphConnection): Observable<void>;
setMainAudioEffectsParams(param: OmpAudioEffectParam, effectGraphConnection: OmpAudioEffectsGraphConnection, filter?: OmpAudioEffectFilter): Observable<void>;
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<void>;
createSidecarAudioTrack(track: OmpAudioTrackCreateType): Observable<OmpAudioTrack>;
createSidecarAudioTracks(tracks: OmpAudioTrackCreateType[]): Observable<OmpAudioTrack[]>;
activateSidecarAudioTracks(ids: string[] | undefined, deactivateOthers: boolean | undefined): Observable<void>;
deactivateSidecarAudioTracks(ids: string[] | undefined): Observable<void>;
muteSidecar(ids: string[] | undefined): Observable<void>;
setSidecarVolume(volume: number, ids: string[] | undefined): Observable<void>;
setSidecarMuted(muted: boolean, ids: string[] | undefined): Observable<void>;
unmuteSidecar(ids: string[] | undefined): Observable<void>;
getActiveSidecarAudioTracks(): OmpAudioTrack[];
getSidecarAudioTracks(): OmpAudioTrack[];
removeSidecarAudioTracks(ids: string[]): Observable<void>;
removeAllSidecarAudioTracks(): Observable<void>;
createSidecarAudioRouter(sidecarAudioTrackId: string, inputsNumber?: number, outputsNumber?: number): Observable<OmpAudioRouterState>;
updateSidecarAudioRouterConnections(sidecarAudioTrackId: string, connections: OmpAudioRoutingConnection[]): Observable<void>;
setSidecarAudioEffectsGraph(sidecarAudioTrackId: string, effectsGraphDef: OmpAudioEffectsGraphDef, effectsGraphConnection: OmpAudioEffectsGraphConnection): Observable<void>;
removeSidecarAudioEffectsGraphs(sidecarAudioTrackId: string, effectsGraphConnection: OmpAudioEffectsGraphConnection): Observable<void>;
setSidecarAudioEffectsParams(sidecarAudioTrackId: string, param: OmpAudioEffectParam, effectGraphConnection: OmpAudioEffectsGraphConnection, filter?: {
routingPath?: Partial<OmpAudioRoutingPath>;
} & OmpAudioEffectFilter): Observable<void>;
createSidecarAudioPeakProcessor(sidecarAudioTrackId: string, audioMeterStandard?: AudioMeterStandard): Observable<Observable<AudioPeakProcessorMessageEvent>>;
exportMainAudioTrackToSidecar(mainAudioTrackId: string): Observable<OmpAudioTrack>;
exportMainAudioTracksToSidecar(mainAudioTrackIds: string[]): Observable<OmpAudioTrack[]>;
toggleSidecarAudioRouterSolo(sidecarAudioTrackId: string, routingPath: OmpAudioRoutingInputType): Observable<void>;
toggleSidecarAudioRouterMute(sidecarAudioTrackId: string, routingPath: OmpAudioRoutingInputType): Observable<void>;
registerAudioEffect(effectType: string, effectFactory: OmpAudioEffectFactory): void;
destroy(): void;
}