抖音开放平台Logo
开发者文档
控制台

AudioContext.createGain
收藏
我的收藏

基础库 1.34.0 开始支持本方法,这是一个同步方法。

创建并返回一个新的 GainNode 对象实例,GainNode 是一个 AudioNode 音频处理模块,在输出前使用给定增益应用到输入。

前提条件
业务背景
使用限制
注意事项
相关教程

语法

AudioContext.createGain()

参数说明

返回值

类型说明最低支持版本
object

GainNode 对象实例

1.34.0

错误码

errorCodeerrMsgerrorType说明最低支持版本
999993internal errorF
小游戏框架内部错误,有需要请创建工单咨询
1.34.0

代码示例

// 1. 创建一个 AudioContext 和 Audio const ctx = tt.getAudioContext(); const audio = ctx.createAudio(); audio.src = "xxxx.mp3"; // 2. 创建一个长度为 3s 的正弦波形 const buf = ctx.createBuffer(2, ctx.sampleRate * 3, ctx.sampleRate); for (let channel = 0; channel < buf.numberOfChannels; channel++) { // This gives us the actual array that contains the data const arr = buf.getChannelData(channel); for (let i = 0; i < buf.length; i++) { // 限制峰值,防止混声溢出 arr[i] = Math.sin((i / ctx.sampleRate) * 400 * Math.PI * 2) * 0.6; } } const source = ctx.createBufferSource(); source.buffer = buf; // 创建增益中间节点,并且初始值为0 const gainNode = ctx.createGain(); gainNode.gain.value = 0; source.connect(gainNode); gainNode.connect(ctx.destination); source.start(); source.onended = function () { console.log("onended called", this); };