AudioParam 是 Web Audio API 的接口,表示与音频相关的参数,通常是 AudioNode 的参数(例如 GainNode.gain)。AudioParam 可以被设置为特定的值或值的变化,并且可以将其安排为在特定时间按照特定模式发生。

有两种 AudioParam,a-rate 和 k-rate 参数:

a-rate 的 AudioParam 会获取音频信号的每个样本帧的当前音频参数值。

k-rate 的 AudioParam 在整个处理的块中使用相同的初始音频参数值,即 128 个样本帧。换句话说,当节点处理音频时,音频中的每个帧都应用相同的值。

每个 AudioNode 在规范中定义了它的参数是 a-rate 还是 k-rate。

每个 AudioParam 都有一个事件列表,这些事件最初是空的,用于定义何时以及如何更改值。当此列表不为空时,将忽略 AudioParam.value 属性的更改。这个事件列表允许我们使用任意的基于时间的自动化曲线来安排必须在非常精确的时间发生的更改。使用的时间是在 AudioContext.currentTime 中定义的时间。

属性

表示由创建 AudioParam 的特定 AudioNode 定义的属性的初始音量。

表示参数的标称(有效)范围的最大可能值。

表示参数的标称(有效)范围的最小可能值。

表示截至当前时间的参数当前值;最初设置为 defaultValue 的值。

方法

根据 AudioContext.currentTime 测得的准确时间,将即时更改安排在精确时间更改为 AudioParam 的值。新值由 value 参数给定。

安排 AudioParam 的值逐渐线性变化。更改从为 previous 事件指定的时间开始,然后线性增加到 value 参数中给定的新值,并在 endTime 参数中给定的时间达到新值。

安排 AudioParam 的值的逐渐指数变化。更改从为 previous 事件指定的时间开始,然后按照指数递增到 value 参数中给定的新值,并在 endTime 参数中给定的时间达到新值。

将更改的开始时间安排为 AudioParam 的值。更改从 startTime 中指定的时间开始,并以指数形式移向 target 参数给定的值。指数衰减率由 timeConstant 参数定义,该时间以秒为单位。

安排 AudioParam 的值遵循一组值,这些值是由一个浮点数数组定义的,该数组按比例缩放以适合给定的间隔,从给定的开始时间开始,跨越给定的持续时间。

取消 AudioParam 未来所有计划的更改。

取消对 AudioParam 的所有计划的未来更改,但在使用其他方法进行进一步更改之前,保留其值。

实例

下面的实例显示了 GainNode 的 gain 值集。gain 是一个 a-rate AudioParam 的例子,因为可能会为音频的每个样本帧设置不同的值。

var AudioContext = window.AudioContext || window.webkitAudioContext;

var audioCtx = new AudioContext();

var gainNode = audioCtx.createGain();

gainNode.gain.value = 0;

下面的实例显示了一个 DynamicsCompressorNode,它具有一些参数值。它们是 k-rate AudioParam 的例子,因为会立即为整个音频块设置值。

var compressor = audioCtx.createDynamicsCompressor();

compressor.threshold.setValueAtTime(-50, audioCtx.currentTime);

compressor.knee.setValueAtTime(40, audioCtx.currentTime);

compressor.ratio.setValueAtTime(12, audioCtx.currentTime);

compressor.attack.setValueAtTime(0, audioCtx.currentTime);

compressor.release.setValueAtTime(0.25, audioCtx.currentTime);

规范

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari基础支持14≤1825不支持156

automationRate68≤79未知不支持支持未知

cancelAndHoldAtTime57

支持 — 56≤79不支持不支持44

支持 — 43不支持

cancelScheduledValues141225不支持156

defaultValue141225不支持156

exponentialRampToValueAtTime141225不支持156

linearRampToValueAtTime141225不支持156

maxValue52≤1853不支持396

minValue52≤1853不支持396

setTargetAtTime141225不支持156

setValueAtTime141225不支持156

setValueCurveAtTime141225不支持156

value141225不支持156

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari基础支持支持18未知26未知14支持

automationRate6868未知未知未知支持支持

cancelAndHoldAtTime57

支持 — 5657

支持 — 56未知不支持未知43

支持 — 43不支持

cancelScheduledValues支持18未知26未知14支持

defaultValue支持18未知26未知14支持

exponentialRampToValueAtTime支持18未知26未知14支持

linearRampToValueAtTime支持18未知26未知14未知

maxValue5252未知53未知41支持

minValue5252未知53未知41支持

setTargetAtTime支持18未知26未知14支持

setValueAtTime支持18未知26未知14支持

setValueCurveAtTime支持18未知26未知14支持

value支持18未知26未知14支持

1. 通过 cancelValuesAndHoldAtTime() 支持。

2. 这将在指定时间设置目标音量,但不会达到目标音量,导致此函数的行为类似于 setValueAtTime()。

4. 在 Firefox 69 之前, value 未考虑对参数值的计划或渐进更改;而是仅返回显式设置的值。

5. Android 版 Firefox 当前未考虑对参数值的计划或渐进更改;仅返回初始值或最新的显式设置值。

html怎么定义音乐参数,AudioParam - 表示与音频相关的参数相关推荐

  1. 资源池实时信息监控视图-相关 GUC 参数

    用户资源监控 用户资源监控中记录所有用户使用资源(内存.CPU 核数.存储空间.临时空间.算子落盘以及 IO)的实时使用情况,也可以通过查询历史表访问用户资源的历史使用情况: 相关 GUC 参数: 相 ...

  2. python函数定义中参数列表里的参数是_python-函数(def)参数 及参数解构 变量 知识整理...

    函数 python 函数 由若干语句组成的语句块.函数名称.参数列表构成,他是组织代码的最小单元 完成一定的功能 函数的作用: 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 封装的目的是为 ...

  3. JAVA网易云热评接口_网易云音乐热评爬虫(一): 反编译加密参数

    由于网易云音乐大部分请求做了混淆加密处理,因此直接用requests请求是行不通.本文以获取歌曲全部评论为例,通过分析网易云的加密过程,来反编译构造加密参数.下面主要介绍下用Python实现加密参数的 ...

  4. python输入正方形边长值、计算其面积_尝试修改列6.2编写命令行参数解析的程序,解析命令行参数所输入边长的值,计算并输出正方形的周长和面积。_学小易找答案...

    [简答题] [单选题]ZigBee 中每个协调点最多可连接______个节点,一个ZigBee网络最多可容纳______个节点.( ) [资料题]DWord-Ans.pdf 索引和目录.pdf 完成效 ...

  5. linux脚本外输入参数,shell 脚本中关于用户输入参数的处理

    1.命令行参数 向shell脚本传递数据的最基本方式是使用命令行参数. (1) 读取参数 读取输入的参数的变量为位置参数,位置参数通过标准数字表示, 其中$0为程序名称,$1为第一个参数,$2为第二个 ...

  6. python怎么理解函数的参数_理解Python中函数的参数

    定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解 ...

  7. python可变参数和关键字参数位置_python的位置参数、默认参数、关键字参数、可变参数区别...

    一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8def print_hello(name, sex): sex_di ...

  8. 【Android RTMP】音频数据采集编码 ( FAAC 音频编码参数设置 | FAAC 编码器创建 | 获取编码器参数 | 设置 AAC 编码规格 | 设置编码器输入输出参数 )

    文章目录 一. 头文件.成员变量准备 二. 创建 FAAC 编码器 三. 获取并设置 FAAC 编码器参数 四. 设置 FAAC 编码器编码标准 五. 设置 FAAC 编码器 AAC 编码规格 六. ...

  9. python xgboost参数_如何对XGBoost模型进行参数调优

    匿名用户 1级 2017-01-19 回答 XGBoost参数调优完全指南(附Python代码) 译注:文内提供的代码和运行结果有一定差异,可以从这里下载完整代码对照参考.另外,我自己跟着教程做的时候 ...

  10. python 函数参数前面两个星号_Python中参数前面一个星号两个星号(*参数,**参数)起什么作用呢?...

    摘要: 下文讲述Python中参数前面一个星号两个星号的功能分享,如下所示: 在Python语言中,我们经常看见参数前面 加上一个星号或两个星号 那么这些写法到底起什么作用呢? 下文将一一道来,如下所 ...

最新文章

  1. 前后端token机制 识别用户登录信息
  2. boost::hof::unpack用法的测试程序
  3. android n模拟器,BlueStacks推出Android N模拟器
  4. 致电以验证您的JavaFX UI的响应能力
  5. 基于递归算法,树形结构数据下业务场景,封装解决方法
  6. sklearn 线性回归linear regression做分类任务
  7. 解决input获取焦点时底部菜单被顶上来问题
  8. 杭州之行--记杭电网新恩普杯程序设计邀请赛
  9. Laravel简⃣单⃣的⃣路⃣由⃣
  10. 2016年零售业CIO的七大革命性挑战
  11. 【Merry Christmas】圣诞节,给博客添加浪漫的下雪效果!
  12. 离线打开html一直刷新,还在手动刷新离线网页?这个方法让你坐等网络恢复
  13. DDD领域驱动设计实战(四)-值对象
  14. Java合并两个有序链表
  15. 小米手机开发者选项在哪?小米手机怎么打开开发者选项
  16. 英国内政部(Home Office)间谍机构(spy powers)假装它是Ofcom咨询中的一名私人公民1525446049260...
  17. 童年记忆中的水果罐头
  18. java文件中public 类名要和文件名保持一致以及其他细节
  19. 北京尚学堂退课退课,口碑还不错
  20. Unity3D---精灵图片裁剪及简单UI搭建

热门文章

  1. python爬虫下载文件到指定文件夹_python - 图片爬虫时候遇到问题 urllib.request.urlretrieve 下载到指定文件夹不成功?...
  2. Linux学习笔记4 - Linux常用命令
  3. Anaconda的安装与使用(Windows下)
  4. OpenCV-图像处理(32、点多边形测试)
  5. 坚果云 linux 脚本,深度操作系统Deepin安装坚果云
  6. python编写贪吃蛇_一步一个脚印教你用python开发一个贪吃蛇小游戏!
  7. 计算机崩溃用英语怎么说,“我要崩溃了”英语怎么说?
  8. java c 引用类型_C++引用类型详解
  9. python数值运算函数代码_Python如何计算列表中所有数字的乘积?(代码示例)
  10. 乘2取整法_关于十进制小数转二进制是“乘2取整,顺序排列”,请问为什么要这么做?这样做有什么根据?最好举上例子...