js实现浏览器中实时捕获麦克风声音并变声输出代码

代码语言:html

所属分类:其他

代码描述:js实现浏览器中实时捕获麦克风声音并变声输出代码,使用浏览器自带的Web Audio API对录音的数据进行处理实现变音。

代码标签: js 浏览器 实时 捕获 麦克风 声音 变声 输出 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" />
    <title>BFW NEW PAGE</title>

    <script type="text/javascript">
    navigator.mediaDevices.getUserMedia({ audio: true })
  .then(function(stream) {
    let audioContext = new AudioContext();
    let microphoneStream = audioContext.createMediaStreamSource(stream);

    // 创建变声效果的处理节点
    let processor = audioContext.createScriptProcessor(4096, 1, 1);
    let pitchShift = 1.7; // 设置音调变化倍率

    processor.onaudioprocess = function(event) {
      let inputBuffer = event.inputBuffer;
      let outputBuffer = event.outputBuffer;

      for (let channel = 0; channel < outputBuffer.numberOfChannels; channel++) {
        let inputData = inputBuffer.getChannelData(channel);
        let outputData = outputBuffer.getChannelData(channel);

        // 实现音调变换
        for (let sample = 0; sample < inputBuffer.l.........完整代码请登录后点击上方下载按钮下载查看

网友评论0