2016-04-14 2 views
6

Я видел в нескольких учебниках людей, использующих .disconnect() после .stop() в узлах осцилляторов.Нужно ли отключать осциллятор AudioNode после его остановки?

Насколько я понимаю, узел осциллятора является одноразовым, поэтому, когда он останавливается и выбрасывается, разве он не отключается?

Я понимаю что-то неправильно? Зачем мне нужно использовать .disconnect() после .stop()?

ответ

3

Согласно W3C Specification:

Когда AudioNode не имеет никаких ссылок, он будет удален. Перед удалением он отключится от любых других AudioNodes, к которым подключен .

Так когда AudioNode остановят и никаких ссылок не осталось его отключит, и, таким образом, не нужно явно вызывать disconnect() после stop().

4

Вам не нужно отключать генератор после остановки(). Фактически, после планирования времени запуска и остановки генератора вы должны немедленно сбросить ссылку на генератор, и генератор должен продолжать играть. После остановки он должен автоматически отключиться.

Конечно, могут быть ошибки в реализации, что делает разъединение правильным. Но это ошибка.

Смежные вопросы