UNPKG

@ng-web-apis/audio

Version:

This is a library for declarative use of Web Audio API with Angular

43 lines 4.62 kB
import { Attribute, Directive, forwardRef } from '@angular/core'; import { AUDIO_CONTEXT } from '../tokens/audio-context'; import { latencyHintFactory } from '../utils/latency-hint-factory'; import * as i0 from "@angular/core"; class WebAudioContext extends AudioContext { constructor(latencyHint, sampleRate) { super({ latencyHint: latencyHintFactory(latencyHint), sampleRate: parseInt(sampleRate ?? '', 10) || undefined, }); } ngOnDestroy() { void this.close(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WebAudioContext, deps: [{ token: 'latencyHint', attribute: true }, { token: 'sampleRate', attribute: true }], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: WebAudioContext, isStandalone: true, selector: "[waAudioContext]", providers: [ { provide: AUDIO_CONTEXT, useExisting: forwardRef(() => WebAudioContext), }, ], usesInheritance: true, ngImport: i0 }); } export { WebAudioContext }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WebAudioContext, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[waAudioContext]', providers: [ { provide: AUDIO_CONTEXT, useExisting: forwardRef(() => WebAudioContext), }, ], }] }], ctorParameters: function () { return [{ type: undefined, decorators: [{ type: Attribute, args: ['latencyHint'] }] }, { type: undefined, decorators: [{ type: Attribute, args: ['sampleRate'] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvYXVkaW8vc3JjL2RpcmVjdGl2ZXMvYXVkaW8tY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQUVqRSxNQVVhLGVBQWdCLFNBQVEsWUFBWTtJQUM3QyxZQUM4QixXQUErQyxFQUNoRCxVQUF5QjtRQUVsRCxLQUFLLENBQUM7WUFDRixXQUFXLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxDQUFDO1lBQzVDLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxTQUFTO1NBQzFELENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2QsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQzt3R0FiUSxlQUFlLGtCQUVULGFBQWEsOEJBQ2IsWUFBWTs0RkFIbEIsZUFBZSwrREFQYjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUNqRDtTQUNKOztTQUVRLGVBQWU7NEZBQWYsZUFBZTtrQkFWM0IsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDakQ7cUJBQ0o7aUJBQ0o7OzBCQUdRLFNBQVM7MkJBQUMsYUFBYTs7MEJBQ3ZCLFNBQVM7MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBdHRyaWJ1dGUsIERpcmVjdGl2ZSwgZm9yd2FyZFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QVVESU9fQ09OVEVYVH0gZnJvbSAnLi4vdG9rZW5zL2F1ZGlvLWNvbnRleHQnO1xuaW1wb3J0IHtsYXRlbmN5SGludEZhY3Rvcnl9IGZyb20gJy4uL3V0aWxzL2xhdGVuY3ktaGludC1mYWN0b3J5JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t3YUF1ZGlvQ29udGV4dF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBVURJT19DT05URVhULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2ViQXVkaW9Db250ZXh0KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXZWJBdWRpb0NvbnRleHQgZXh0ZW5kcyBBdWRpb0NvbnRleHQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAQXR0cmlidXRlKCdsYXRlbmN5SGludCcpIGxhdGVuY3lIaW50OiBBdWRpb0NvbnRleHRMYXRlbmN5Q2F0ZWdvcnkgfCBudWxsLFxuICAgICAgICBAQXR0cmlidXRlKCdzYW1wbGVSYXRlJykgc2FtcGxlUmF0ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgbGF0ZW5jeUhpbnQ6IGxhdGVuY3lIaW50RmFjdG9yeShsYXRlbmN5SGludCksXG4gICAgICAgICAgICBzYW1wbGVSYXRlOiBwYXJzZUludChzYW1wbGVSYXRlID8/ICcnLCAxMCkgfHwgdW5kZWZpbmVkLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHZvaWQgdGhpcy5jbG9zZSgpO1xuICAgIH1cbn1cbiJdfQ==