The arguments apparently weren't properly forwarded to the constructor, breaking e.g. new Audio("foo") calls. This uses the much nicer spread syntax introduced in ES6.
Also, document.createElement("audio") is affected in the same way as new Audio()
The evasion is now only done when the player actually starts playing, not immediately when it is created, since we only care about playing players.