@byomakase/omakase-player
Version:
## Omakase Player - Open source JavaScript framework for building frame accurate video experiences
45 lines (44 loc) • 2.17 kB
TypeScript
import { Destroyable, OmpAudioTrack } from '../types';
import { Observable, Subject } from 'rxjs';
import { OmpAudioRouter } from './audio-router';
import { VideoController } from './video-controller';
import { SidecarAudioApi } from '../api/sidecar-audio-api';
import { AudioRouterApi } from '../api/audio-router-api';
import { OmpAudioPeakProcessor } from './audio-peak-processor';
import { AudioMeterStandard, OmpSidecarAudioState } from './model';
export declare class OmpSidecarAudio implements SidecarAudioApi, Destroyable {
readonly onStateChange$: Subject<OmpSidecarAudioState>;
protected _videoController: VideoController;
protected _audioTrack: OmpAudioTrack;
protected _audioBuffer: AudioBuffer;
protected _eventBreaker: Subject<void>;
protected _audioBufferSourceNode?: AudioBufferSourceNode;
protected _audioInterfaceNode: GainNode;
protected _audioRouter?: OmpAudioRouter;
protected _audioPeakProcessor?: OmpAudioPeakProcessor;
protected _sidecarAudioPlaying: boolean;
protected _audioStartTime?: number;
protected _audioOffset?: number;
protected _audioDriftHistory: number[];
protected _destroyed$: Subject<void>;
constructor(videoController: VideoController, audioTrack: OmpAudioTrack, audioBuffer: AudioBuffer);
protected _emitChange(): void;
createAudioRouter(inputsNumber?: number, outputsNumber?: number): OmpAudioRouter;
createAudioPeakProcessor(audioMeterStandard?: AudioMeterStandard): Observable<OmpAudioPeakProcessor>;
protected createSourceNode(): void;
protected audioPlay(driftOffset?: number): void;
protected audioStop(): void;
protected setupPlayback(): void;
correctAudioDrift(): void;
protected _correctAudioDrift(driftOffset: number): void;
protected stopSourceNode(): void;
get isActive(): boolean;
activate(): void;
deactivate(): void;
protected setActiveInactive(value: boolean): void;
getSidecarAudioState(): OmpSidecarAudioState;
get audioTrack(): OmpAudioTrack;
get audioRouter(): AudioRouterApi | undefined;
get audioPeakProcessor(): OmpAudioPeakProcessor | undefined;
destroy(): void;
}