UNPKG

@ngx-telly/plugin-vu-meter

Version:

Telly - Vu meter plugin

51 lines (50 loc) 2.4 kB
import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { VuMeterService } from '../../vu-meter.service'; import { PlayerComponent } from '@ngx-telly/player'; import * as i0 from "@angular/core"; export interface Level { channel: string; rms: number; db: number; normalized: number; peak: number; } export declare class TellyVuMeterComponent implements OnInit, OnDestroy, OnChanges { display: string; fftSize: number; channelCount: number; channelNames: string[]; peakHoldTime: number; peakDecayRate: number; peakAccelerationFactor: number; peakSmoothingFactor: number; updateRateMs: number; readonly service: VuMeterService; readonly player: PlayerComponent; private readonly subscription; private readonly audioNodes; private readonly analysisState; readonly levels: import("@angular/core").WritableSignal<Level[]>; readonly reconfiguring: import("@angular/core").WritableSignal<boolean>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; trackByChannel(index: number, level: Level): string; private setupVisibilitySubscription; private reconfigure; private updateChannelCount; private initializeAudioAndStartAnalysis; private initializeAudioContext; private connectAudioGraphAndStartAnalysis; private buildAudioGraph; private startAnalysis; private runAnalysisLoop; private calculateChannelLevel; private updatePeakHold; private stopAnalysis; private getChannelNames; private disconnectAudioGraph; private cleanupAudioContext; static ɵfac: i0.ɵɵFactoryDeclaration<TellyVuMeterComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<TellyVuMeterComponent, "telly-vu-meter", never, { "fftSize": { "alias": "fftSize"; "required": false; }; "channelCount": { "alias": "channelCount"; "required": false; }; "channelNames": { "alias": "channelNames"; "required": false; }; "peakHoldTime": { "alias": "peakHoldTime"; "required": false; }; "peakDecayRate": { "alias": "peakDecayRate"; "required": false; }; "peakAccelerationFactor": { "alias": "peakAccelerationFactor"; "required": false; }; "peakSmoothingFactor": { "alias": "peakSmoothingFactor"; "required": false; }; "updateRateMs": { "alias": "updateRateMs"; "required": false; }; }, {}, never, never, true, never>; }