跳至主要内容

[WebAPIs] Web Audio API

AudioContext —> AudioNode (sourceNode, processNode, destinationNode)

// [30-08之 WebRTC 採集的詳細說明與聲音的加工](https://ithelp.ithome.com.tw/articles/10204431) @ iThome
navigator.mediaDevices
.getUserMedia({ audio: true })
.then((stream) => {
// 建立 audioContext
const audioContext = new AudioContext();

// 將 WebRTC 所採集的聲音轉換成 AudioNode。
const sourceNode = audioContext.createMediaStreamSource(stream);

// 產生音量加工師,用來將來源聲音加大
const processNode = audioContext.createGain();
processNode.gain.value = 20;
sourceNode.connect(processNode);

// 將加工完的聲音丟給終端麥克風
const destinationNode = audioContext.destination;
processNode.connect(destinationNode);
})
.catch((err) => {
console.log('nonono ~~~ !!');
});

imgur

圖片來源:30-08 之 WebRTC 採集的詳細說明與聲音的加工 @ iThome