Skip to content

Commit d95d6e4

Browse files
authored
Merge pull request #396 from SegaraRai/fix-clearonend
Fix deletion of array elements in iteration
2 parents f365d09 + addcfb8 commit d95d6e4

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/soundfile.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1771,9 +1771,13 @@ define(function (require) {
17711771
// call the onended callback
17721772
soundFile._onended(soundFile);
17731773

1774-
soundFile.bufferSourceNodes.forEach(function (n, i) {
1774+
// delete bufferSourceNode(s) in soundFile.bufferSourceNodes
1775+
// iterate in reverse order because the index changes by splice
1776+
soundFile.bufferSourceNodes.map((_, i) => i).reverse().forEach(function (i) {
1777+
const n = soundFile.bufferSourceNodes[i];
1778+
17751779
if (n._playing === false) {
1776-
soundFile.bufferSourceNodes.splice(i);
1780+
soundFile.bufferSourceNodes.splice(i, 1);
17771781
}
17781782
});
17791783

0 commit comments

Comments
 (0)