音乐播放器
参考网址1
MediaDevices.getUserMedia(),参考网址2
https://www.chengfeilong.com/recorder.js/
录音,回放录音,录音合成
Web Audio API
音频上下文 (AudioContext)
模块化路由的特点
连接在一起构成:音频路由图
一个简单而典型的web audio流程如下:
创建音频上下文
在音频上下文里创建源 — 例如 <audio>, 振荡器, 流
创建效果节点,例如混响、双二阶滤波器、平移、压缩
为音频选择一个目地,例如你的系统扬声器
连接源到效果器,对目的地进行效果输出
接口
AudioContext
音频上下文:使用其它接口前你必需创建一个音频上下文
AudioNode音频节点
- oscillator通过JavaScript直接生成一个音频节点
var oscillator = audioCtx.createOscillator();
- 从原PCM数据构建: AudioContext有解密被支持的音频格式的多种方法。 看
AudioContext.createBuffer()
,AudioContext.createBufferSource()
, 以及AudioContext.decodeAudioData()
. - 来自于HTML音频元素例如
<video>
或者<audio>
: 可以看AudioContext.createMediaElementSource()
. - 直接来自于 WebRTC,
MediaStream
例如来自于摄像头或麦克风. 可以看AudioContext.createMediaStreamSource()
.
例如音频源(<audio>
或<video>
),音频输出、中间处理模块(例如:滤波器 BiquadFilterNode
或者音量控制器 GainNode
)。
AudioDestinationNode
表示音频图形在特定情况下的最终输出地址 - 通常为扬声器
var audioCtx = new AudioContext();//创建音频上下文
var source = audioCtx.createMediaElementSource(myMediaElement);//创建
source.connect(gainNode);
gainNode.connect(audioCtx.destination);
网友评论