如何扩展AudioNode(没有构造函数的本地对象)

时间:2019-01-20 10:58:40

标签: javascript typescript inheritance ecmascript-6

我正在尝试使用this code(不是我写的tone.js钢琴)。

钢琴课像这样扩展了AudioNode:

class Piano extends AudioNode {

    constructor(){

        super()
        // piano specific stuff...
    }
}

当我尝试实例化它时,请遵循文档

const piano = new Piano()

我收到“ TypeError:非法构造函数”。

然后扩展无法使用new实例化的本机对象(例如AudioNode)的正确方法是什么?最近发生了什么变化,因此上述代码不再起作用?

1 个答案:

答案 0 :(得分:1)

您所引用的示例中的AudioNode取自tone.js库。看一下import语句:

import Tone, { Gain, Frequency, AudioNode, Buffer} from 'tone'

您收到的错误表明您没有从库中导入AudioNode。这就是为什么您的代码使用无法扩展的本机AudioNode类型的原因。