html5api 语音,HTML5音频API Web Audio

此文介绍HTML5音频API的重要框架和工作流程,因为音频处理模块很多,是以只简单介绍几种音频处理模块,并经由过程例子来展示效不雅。后续会介绍应用HTML5音频API实现的项目,迎接大年夜家存眷,敬请等待。

用于音量变更。它是一个 AudioNode 类型的音频处理模块。

7d2be1a0053759813603be5af8daaad1.png-wh_651x-s_829518711.png

AudioContext

AudioContext 是一个音频高低文,像一个大年夜工厂,所有的音频袈溱这个音频高低文中处理。let audioContext = new(window.AudioContext || window.webkitAudioContext)();

停止播放,留意调用该办法后,无法再次调用 AudioBufferSourceNode.start 播放。

AudioContext.createGain()

AudioContext 音频高低文供给了很多属性和办法,用于创建各类音频袈浯和音频处理模块等,这里只介绍一部分,更多属性和办法可到MDN查阅文档。

属性

AudioContext.destination

办法

AudioContext.createBufferSource()

创建一个 AudioBufferSourceNode 对象, 他可以经由过程 AudioBuffer 对象来播放和处理包含在内的音频数据。

创建一个 GainNode,它可以控制音频的总音量。

AudioContext.createBiquadFilter()

创建一个 BiquadFilterNode,它代表代表一个双二阶滤波器,可以设置几种不合且常见滤波器类型:高通、低通、带通等。

createOscillator()

创建一个 OscillatorNode, 它表示一个周期性波形,根本上来说创造了一个声调。

音频转换成Buffer格局

应用decodeAudioData()办法把音频文件编译成buffer格局。

bufferSource.buffer = buffer;functiondecodeAudioData(audioContext, url) {

returnnew Promise((resolve) => {

let request = new XMLHttpRequest();

request.open('GET', url,true);

request.responseType = 'arraybuffer';

request.onload = () => {

audioContext.decodeAudioData(request.response, (buffer) => {

if (!buffer) {

alert('error decoding file data: '+ url);

return;

} else{

resolve(buffer);

}

})

}

request.onerror = function() {

alert('BufferLoader: XHR error');

}

request.send();

})

}

let buffer = decodeAudioData(audioContext,

推荐阅读

对信息技巧的价值不雅及其在组织内的地位的看法赓续地产生着变更。下面来看看若何保持相干性。相反,指出企业高管可能没有留意到的问题。Brady说:“你的人际关系袈浣好,你懂得营业>>>详细阅读

地址:http://www.17bianji.com/lsqh/36631.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值