javascript - 有没有办法用变量代替节点名称来选择网络音频节点?

标签 javascript html web-audio-api

我有一组 5 个振荡器节点,希望能够选择特定节点的波形。所有振荡器的名称均为 osc1、osc2、osc3 等,我希望能够选择我正在使用元素 id(1、2、3 等)更改的振荡器

这是我认为可行的方法:

var oscNum = ("osc"+eleNum)

if (element.value == 1)
{
    oscNum.type = 'square';
}

else if (element.value == 2)
{
oscNum.type = "sawtooth";
}

else if (element.value == 3)
{
oscNum.type = "triangle";
}

else if (element.value == 0)
{
oscNum.type = "sine";           
}

但是它没有,我想知道是否有任何方法可以使用 var.type 而不是 osc1.type 来选择节点。

最佳答案

在您的示例中,第一行代码正在计算一个字符串。假设 eleNum 等于 3。那么 oscNum 的值将只是字符串 "osc3"

如果您想通过索引选择振荡器,您可以使用数组来存储它们。

const oscillators = [ osc0, osc1, osc2, osc3 ];

稍后您可以通过索引选择一个单独的振荡器并设置类型。

oscillators[eleNum].type = "triangle";

关于javascript - 有没有办法用变量代替节点名称来选择网络音频节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269063/

相关文章:

javascript - Angular CLI 1.6.6 弹出创建带有完整脚本路径的 webpack.config.js

javascript - notepad++ 与 Node 使用套接字错误

java - 与其他字段一起上传文件

memory-leaks - 您是否需要断开所有音频节点以避免内存泄漏?

html - 播放实时音频流 - html5

javascript - HTML5 录音

javascript - Django 的反向函数中忽略变量类型

javascript - angularjs 会自动创建嵌套结构吗?

javascript - 添加 "bServerSide": true in datatable giving error TypeError: g is null

javascript - Amsul DatePicker - 如何禁用日历上的日期?