+
80
-

js如何在浏览器上生成声音文件?

js如何在浏览器上生成声音文件?不是播放声音文件,而是自己生成一段音频声音文件

网友回复

+
0
-

利用AudioContext,代码如下:

<!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" />

    <script type="text/javascript">
        // 创建音频上下文  
    var audioCtx = new AudioContext();
    // 创建音调控制对象  
    var oscillator = audioCtx.createOscillator();
    // 创建音量控制对象  
    var gainNode = audioCtx.createGain();
    // 音调音量关联  
    oscillator.connect(gainNode);
    // 音量和设备关联  
    gainNode.connect(audioCtx.destination);
    // 音调类型指定为正弦波  
    oscillator.type = 'sine';
    // 设置音调频率  
    oscillator.frequency.value = 196.00;
    // 先把当前音量设为0  
    gainNode.gain.setValueAtTime(0, audioCtx.currentTime);
    // 0.01秒时间内音量从刚刚的0变成1,线性变化 
    gainNode.gain.linearRampToValueAtTime(1, audioCtx.currentTime + 0.01);
    // 声音走起 
    oscillator.start(audioCtx.currentTime);
    // 1秒时间内音量从刚刚的1变成0.001,指数变化 
    gainNode.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 7);
    // 1秒后停止声音 
    oscillator.stop(audioCtx.currentTime + 7);
    </script>
   
</head>

<body>
   听声音
</body>

</html>

我知道答案,我要回答