UNPKG

@exmg/livery

Version:

Ex Machina Group Livery Web SDK.

67 lines (66 loc) 2 kB
import { LitElement } from 'lit-element'; declare global { interface HTMLElementTagNameMap { 'livery-vu-meter': LiveryVuMeter; } } /** * Element defined as `<livery-vu-meter>` which shows a VU meter for an HTMLMediaElement. * * To activate this element set the `media` property to point to your HTMLMediaElement * and then either click this element or call the `start()` method from a user event (e.g: click) listener. * * The browser needs to support AudioContext for this to work. * * Use this element's `muted` and `volume` attributes and `volumechange` event instead of the ones from `media`. */ export declare class LiveryVuMeter extends LitElement { static readonly styles: import("lit-element").CSSResult; /** * Media element to bind to. */ get media(): LiveryVuMeter['_media']; set media(value: LiveryVuMeter['_media']); /** * If true then audio is muted. */ get muted(): boolean; set muted(value: boolean); /** * Audio volume, from 0.0 (silent) to 1.0 (loudest). */ get volume(): number; set volume(value: number); private _media?; private _muted; private _volume; private active?; private log; private meters?; private paused; constructor(); static isSupported(): boolean; disconnectedCallback(): void; firstUpdated(): void; /** * Returns true if VU Meter is active, false otherwise. */ isActive(): boolean; render(): import("lit-element").TemplateResult; /** * Create audio context, connect media to it and start measuring volume. * * This needs to be called from a user event (e.g: `click`) to be allowed to work by browsers. */ start(): void; /** * Stop measuring volume and close audio context. */ stop(): void; private getByteVolumes; private getElement; private handleError; private onAnimationFrame; private onMediaVolumeChange; private toggle; }