1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2/* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 4 * You can obtain one at http://mozilla.org/MPL/2.0/. 5 * 6 * The origin of this IDL file is 7 * https://webaudio.github.io/web-audio-api/ 8 * 9 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C 10 * liability, trademark and document use rules apply. 11 */ 12 13dictionary AnalyserOptions : AudioNodeOptions { 14 unsigned long fftSize = 2048; 15 double maxDecibels = -30; 16 double minDecibels = -100; 17 double smoothingTimeConstant = 0.8; 18}; 19 20[Pref="dom.webaudio.enabled", 21 Constructor(BaseAudioContext context, optional AnalyserOptions options)] 22interface AnalyserNode : AudioNode { 23 24 // Real-time frequency-domain data 25 void getFloatFrequencyData(Float32Array array); 26 void getByteFrequencyData(Uint8Array array); 27 28 // Real-time waveform data 29 void getFloatTimeDomainData(Float32Array array); 30 void getByteTimeDomainData(Uint8Array array); 31 32 [SetterThrows, Pure] 33 attribute unsigned long fftSize; 34 [Pure] 35 readonly attribute unsigned long frequencyBinCount; 36 37 [SetterThrows, Pure] 38 attribute double minDecibels; 39 [SetterThrows, Pure] 40 attribute double maxDecibels; 41 42 [SetterThrows, Pure] 43 attribute double smoothingTimeConstant; 44 45}; 46