2016-04-14 15 views
6

Tôi đã thấy trong một số hướng dẫn mọi người sử dụng .disconnect() sau một số .stop() trong các Nút dao động.Tôi có cần ngắt kết nối Oscillator AudioNode sau khi dừng không?

Theo như tôi hiểu, một nút Dao động là dùng một lần để khi nó dừng lại và bị vứt đi, nó cũng không bị ngắt kết nối?

Tôi có hiểu sai không? Tại sao tôi cần sử dụng .disconnect() sau một số .stop()?

Trả lời

3

Theo W3C Specification:

Khi một AudioNode không có tài liệu tham khảo nó sẽ bị xóa. Trước khi nó bị xóa , nó sẽ tự ngắt kết nối khỏi bất kỳ AudioNode nào khác mà nó được kết nối.

Vì vậy, khi một AudioNode được dừng lại và không có tài liệu tham khảo còn lại nó sẽ ngắt kết nối chính nó và nó là như vậy, không cần thiết phải rõ ràng gọi disconnect() sau stop().

4

Bạn không cần ngắt kết nối bộ dao động sau khi dừng(). Trong thực tế, sau khi lập lịch bắt đầu và thời gian dừng của bộ dao động, bạn sẽ có thể thả tham chiếu đến bộ dao động ngay lập tức và bộ dao động vẫn nên phát. Sau khi dừng, nó sẽ tự động ngắt kết nối chính nó.

Tất nhiên có thể có lỗi trong quá trình triển khai làm cho ngắt kết nối với đúng thứ. Nhưng đó là một lỗi.

Các vấn đề liên quan