Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web APIs
  3. BaseAudioContext
  4. createGain()

BaseAudioContext: createGain() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨April 2021⁩.

ThecreateGain() method of theBaseAudioContextinterface creates aGainNode, which can be used to control theoverall gain (or volume) of the audio graph.

Note:TheGainNode()constructor is the recommended way to create aGainNode; seeCreating an AudioNode.

Syntax

js
createGain()

Parameters

None.

Return value

AGainNode which takes as input one or more audio sources and outputsaudio whose volume has been adjusted in gain (volume) to a level specified by the node'sGainNode.gaina-rateparameter.

Examples

The following example shows basic usage of anAudioContext to create aGainNode, which is then used to mute and unmute the audio when a Mutebutton is clicked by changing thegain property value.

The below snippet wouldn't work as is — for a complete working example, check out ourVoice-change-O-matic demo (view source.)

html
<div>  <button>Mute button</button></div>
js
const audioCtx = new AudioContext();const gainNode = audioCtx.createGain();const mute = document.querySelector(".mute");let source;if (navigator.mediaDevices.getUserMedia) {  navigator.mediaDevices.getUserMedia(    // constraints - only audio needed for this app    {      audio: true,    },    // Success callback    (stream) => {      source = audioCtx.createMediaStreamSource(stream);    },    // Error callback    (err) => {      console.error(`The following gUM error occurred: ${err}`);    },  );} else {  console.error("getUserMedia not supported on your browser!");}source.connect(gainNode);gainNode.connect(audioCtx.destination);// …mute.onclick = () => {  if (mute.id === "") {    // 0 means mute. If you still hear something, make sure you haven't    // connected your source into the output in addition to using the GainNode.    gainNode.gain.setValueAtTime(0, audioCtx.currentTime);    mute.id = "activated";    mute.textContent = "Unmute";  } else {    gainNode.gain.setValueAtTime(1, audioCtx.currentTime);    mute.id = "";    mute.textContent = "Mute";  }};

Specifications

Specification
Web Audio API
# dom-baseaudiocontext-creategain

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp