• 调节扬声器和麦克风的音量


        const audioSrc = require("./../../src/assets/music.mp3")
        // 调节扬声器音量
        switchYSQColumn(){
          //使用Audio对象创建一个新的音频元素
          const audioElement = new Audio();
          //将音频元素的src属性设置为音频文件的url
          audioElement.src = audioSrc;
          audioElement.play()
          //创建一个AudioContext对象来处理音频流
          const audioContext = new AudioContext();
          //使用createMediaElementSource方法将音频元素连接到AudioContext
          const sourceNode = audioContext.createMediaElementSource(audioElement);
          //使用createGain方法创建一个音量控制节点
          const gainNode = audioContext.createGain();
          //将音频元素连接到音量控制节点
          sourceNode.connect(gainNode);
          gainNode.connect(audioContext.destination);
          //通过设置音量控制节点的gain来调节音量,取值范围为0(静音)-1(最大音量)
          // 调节音量
          gainNode.gain.value = 1; // 设置为 0.7 表示 70% 音量
        },
        // 调节麦克风音量
        switchMKFColumn(){
          //获取麦克风的音频流
          navigator.mediaDevices.getUserMedia({ audio: true })
            .then(function (stream) {
              console.log(stream,"streamstreamstream")
              //创建一个AudioContext对象来处理音频流
              const audioContext = new AudioContext();
              //通过createMediaStreamSource将麦克风音频流连接到AudioContext
              const sourceNode = audioContext.createMediaStreamSource(stream);
              //使用createGain方法创建一个音量控制节点
              const gainNode = audioContext.createGain();
              //将音频流连接到音量控制节点
              sourceNode.connect(gainNode);
              gainNode.connect(audioContext.destination);
              //通过设置音量控制节点的gain来调节音量,取值范围为0(静音)-1(最大音量)
              // 调节音量
              gainNode.gain.value = 0.5; // 设置为 0.5 表示 50% 音量
            })
            .catch(function (error) {
              console.error('获取麦克风音频流失败:', error);
            });
    
        },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
  • 相关阅读:
    超适合练手的一套JavaWeb项目 (超市后台管理系统)
    【LeetCode】二叉树题总结(持续更新)
    汽车电子 - AUTOSAR
    利用WebStorm开发react——本文来自AI创作助手
    探索设计模式的魅力:掌握命令模式-解锁软件设计的‘遥控器’
    Java----集合框架(Collection)、foreach的用法
    五、函数的介绍
    多任务爬虫(多线程和多进程)
    爱上开源之golang入门至实战第三章-性能分析-分析数据
    Editor.md-编辑器
  • 原文地址:https://blog.csdn.net/C05230/article/details/134263309