ブラウザである一定レベルの音がしたらイベントを発生させる
3891 ワード
はじめに
ブラウザでマイクの音を拾ってある一定レベル超えたらイベントを発生させたいというマニアックな時に使うコードです。
getUserMediaのパラメータでオーディオデバイスを選ぶなども可能ですがここでは記載していません。
navigator.mediaDevices.getUserMedia({ audio: true, video: false }).then((stream) => {
const audioCtx = new (window.AudioContext || window.webkitAudioContext)();
const analyser = audioCtx.createAnalyser();
const source = audioCtx.createMediaStreamSource(stream);
source.connect(analyser);
const data = new Uint8Array(analyser.frequencyBinCount);
const render = () => {
analyser.getByteFrequencyData(data);
let sum = 0;
for (var i = 0; i < data.length; i++) {
sum += data[i];
}
const volnum = sum / data.length;
// volnumの数値が一定数以上なら何かするとか
requestAnimationFrame(render);
};
render();
});
Author And Source
この問題について(ブラウザである一定レベルの音がしたらイベントを発生させる), 我々は、より多くの情報をここで見つけました https://qiita.com/wakasamasao/items/a42dd4cd6bab755c4ea2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .