Как я могу остановить / приостановить работу узла WebAudio ScriptProcessor?

Я могу генерировать звуки, используя только createJavaScriptNode(...) в моем приложении HTML5. Мне нужно генерировать белый шум на лету. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу остановить / приостановить генерацию, например, установив нулевое значение для процессора или контекста.

Я видел этот пост: как я могу остановить обработчик скриптов Web Audio и очистить буфер? и мне было интересно, есть ли лучшее решение, чем установка нуля для узла усиления.

Должен ли я беспокоиться о том, чтобы оставить процессор включенным, если он мне не нужен? Я не хотел бы иметь "призраков" в моем коде. Было бы здорово, если бы я мог обнулить объекты, которые я больше не буду использовать.

Спасибо.

2 ответа

Вы должны использовать ScriptProcessorNode, поскольку JavaScriptAudioNode устарела. Отключение узла от графа должно вызвать onprocess больше не перезванивать.

На самом деле, вы должны ЯВНО удалить обработчик события onaudioprocess из объекта; иначе он может не получить мусор.

Другие вопросы по тегам