The MediaStreamAudioSourceNode interface is a type of AudioNode which operates as an audio source whose media is received from a MediaStream obtained using the WebRTC or Media Capture and Streams APIs.
Thrown if the stream specified by the mediaStream parameter does not contain any audio tracks.
For the purposes of the MediaStreamTrackAudioSourceNode interface, the order of the audio tracks on the stream is determined by taking the tracks whose kind is audio, then sorting the tracks by their id property's values, in Unicode code point order (essentially, in alphabetical or lexicographical order, for IDs which are simple alphanumeric strings).
The first track, then, is the track whose id comes first when the tracks' IDs are all sorted by Unicode code point.
However, it's important to note that the rule establishing this ordering was added long after this interface was first introduced into the Web Audio API. As such, you can't easily rely on the order matching between any two browsers or browser versions.
The MediaStreamTrackAudioSourceNode interface is similar to MediaStreamAudioSourceNode, but avoids this problem by letting you specify which track you want to use.