Как расширить AudioNode (нативный объект без конструктора) - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь использовать этот код для использования (пианино tone.js, не написанное мной).

Класс фортепиано расширяет AudioNode следующим образом:

class Piano extends AudioNode {

    constructor(){

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

Когда я пытаюсь создать его экземпляр, следуя документации, с помощью

const piano = new Piano()

я получаю «TypeError: Illegal constructor».

Каков правильный способ расширениянативный объект, такой как AudioNode, который нельзя создать с помощью new?Что-то изменилось в недавнем прошлом, так что приведенный выше код больше не работает?

1 Ответ

0 голосов
/ 20 января 2019

AudioNode в примере, на который вы ссылаетесь, взят из библиотеки tone.js. Взгляните на оператор импорта:

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

Полученная ошибка является признаком того, что вы не импортировали AudioNode из библиотеки. Вот почему ваш код использует собственный тип AudioNode, который не может быть расширен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...