title: new MediaRecorder(stream[, options]) stream can living modify?
body: <p>new MediaRecorder(stream[, options]);</p>
  <p>I want record the user camera and audio</p>
  <p>I need mixing the song.mp3 to the audio track in recording.</p>
  <p>and result export a video file to download by  link.</p>
  <p>But the MediaRecorder first params stream can living modify ?</p>
  <p>But When I use recoder.stop()</p>
  <p>It tips error: Failed to execute 'stop' on 'MediaRecorder': The MediaRecorder's state is 'inactive'.</p>
  <p>My code:</p>
  <pre class="lang-js prettyprint-override"><code>    function getFileBuffer(filepath) {
        return fetch(filepath, {method: 'GET'}).then(response =&gt; response.arrayBuffer())
      }
      
      function mp3play() {
        getFileBuffer('song.mp3')
        .then(buffer =&gt; context.decodeAudioData(buffer))
        .then(buffer =&gt; {
          console.log(buffer)
          const source = context.createBufferSource()
          source.buffer = buffer
          let volume = context.createGain()
          volume.gain.value = 1
          source.connect(volume)
          dest = context.createMediaStreamDestination()
          volume.connect(dest)
          // volume.connect(context.destination)
          source.start(0)
      
          const _audioTrack = stream.getAudioTracks();
          if (_audioTrack.length &gt; 0) {
            _audioTrack[0].stop();
            stream.removeTrack(_audioTrack[0]);
          }
          //
          // console.log(dest.stream)
          // console.log(dest.stream.getAudioTracks()[0])
          // stream.addTrack(dest.stream.getAudioTracks()[0])
        })
      }
      
      function startRecording() {
        recorder = new MediaRecorder(stream, {
          mimeType: 'video/webm'
        })
        recorder.start()
        stopBtn.removeAttribute('disabled')
        startBtn.disabled = true
      }
  </code></pre>