--- title: AudioParam slug: Web/API/AudioParam translation_of: Web/API/AudioParam ---
{{APIRef("Web Audio API")}}
AudioParam
接口代表音频相关的参数, 通常是一个 {{domxref("AudioNode")}} (例如 {{ domxref("GainNode.gain") }}) 的参数。一个 AudioParam
可以被设置为一个具体的值或者数值的改变 ,可以被安排在在一个具体的时刻并且遵循一个特定的模式发生。
下面有两种类型的 AudioParam
, a-rate 和 k-rate 参数:
AudioParam
获取音频信号的每个采样帧的当前音频参数值。AudioParam
对于待处理的整个块使用相同的初始音频参数值,即128个采样帧。每个 {{domxref("AudioNode")}} 定义了其规格中哪一个参数是 a-rate 或 k-rate 。
每个 AudioParam
有一个事件的列表,初始化时列表为空。该列表定义了什么时候数值怎么改变。当这个列表不是空的时候,使用 AudioParam.value
属性的改变会被忽略 。事件的列表允许我们去有计划地进行必须在非常精确的时间发生的更改,使用任意的基于时间轴的自动化曲线。被使用的时间在{{domxref("AudioContext.currentTime")}} 中被定义。
AudioParam
继承的属性来自于它的父类, AudioNode。
AudioParam
的属性的初始的音量。AudioParam.defaultValue 的值。虽然它可以被设置,但是任何发生在自动化事件(事件被计划用于 AudioParam )的修改会被忽略,
没有任何例外。AudioParam 初始化的方法来自它的父类,AudioNode
.
AudioParam
的值,按照{{domxref("AudioContext.currentTime")}} 的时间。新的值会被传递到 value
参数。AudioParam 的值,使其逐渐按线性变化。这个改变会从上一个事件指定的事件开始,跟随一个线性“斜坡”到参数给的新值,并在 endTime 参数给定的时间到达新值。
AudioParam 的值,使其逐渐按指数变化。这个改变会从上一个事件指定的事件开始,跟随一个指数“斜坡”到参数给的新值,并在 endTime 参数给定的时间到达新值。
AudioParam 的值
。这个改变将从 startTime 指定的时间开始,并且以指定的方式向目标参数给定的值改变。指数衰减速率由 timeConstant 参数定义,
time 参数使以秒作为测量单位的时间。AudioParam
的值以跟随一组定义为 {{domxref("Float32Array")}} 的值,数值会缩放到适应给定的间隔,,从 startTime 时间开始并具有特定的持续时间(duration)。
AudioParam 中
的未来计划发生的改变。AudioParam 的
改变,但是保持给定时间的值,直到将来的使用其他方法产生改变。新的值会被赋予到 value
属性中。首先,一个基础的例子展示了 {{domxref("GainNode")}} 拥有的 gain
一些值合。gain
是一个 a-rate AudioParam 的例子,因为该值可以针对音频的每个样本帧进行不同的设置。
var AudioContext = window.AudioContext || window.webkitAudioContext; var audioCtx = new AudioContext(); var gainNode = audioCtx.createGain(); gainNode.gain.value = 0;
另外,一个例子展示了 {{ domxref("BiquadFilterNode") }} 拥有的一些值。这是一个 k-rate AudioParam 的例子,因为一次为整个音频块设置的值。
var AudioContext = window.AudioContext || window.webkitAudioContext; var audioCtx = new AudioContext(); var biquadFilter = audioCtx.createBiquadFilter(); biquadFilter.type = "lowshelf"; biquadFilter.frequency.value = 1000; biquadFilter.gain.value = 25;
Specification | Status | Comment |
---|---|---|
{{SpecName('Web Audio API', '#the-audioparam-interface', 'AudioParam')}} | {{Spec2('Web Audio API')}} |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | {{CompatChrome(14)}} {{property_prefix("webkit")}} | {{CompatVersionUnknown}} | {{CompatGeckoDesktop(23)}} | {{CompatNo}} | 15 {{property_prefix("webkit")}} 22 (unprefixed) |
6 {{property_prefix("webkit")}} |
Unprefixed | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatNo}} |
minValue and maxValue |
{{CompatChrome(52)}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatNo}} | 39 | {{CompatNo}} |
cancelAndHoldAtTime() |
{{CompatChrome(57)}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android Webview | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatChrome(28)}} {{property_prefix("webkit")}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile(25)}} | {{CompatNo}} | {{CompatNo}} | 6 {{property_prefix("webkit")}} |
Unprefixed | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatNo}} |
minValue and maxValue |
{{CompatChrome(52)}} | {{CompatChrome(52)}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatNo}} | 39 | {{CompatNo}} |
cancelAndHoldAtTime() |
{{CompatChrome(57)}} | {{CompatChrome(57)}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |