MediaStreamAPI: Difference between revisions

Line 268: Line 268:
     }
     }
     var mixer = processed.createProcessor();
     var mixer = processed.createProcessor();
     mixer.addStream(document.getElementById("back").startStream());
     mixer.addStream(document.getElementById("back").Stream());
     streamRecorder = mixer.record();
     streamRecorder = mixer.record();
     peerConnection.addStream(mixer);
     peerConnection.addStream(mixer);
Line 295: Line 295:
   var in1 = document.getElementById("in1");
   var in1 = document.getElementById("in1");
   in1.onloadeddata = function() {
   in1.onloadeddata = function() {
     var mixer = in1.startStream().createProcessor();
     var mixer = in1.captureStream().createProcessor();
     var in2 = document.getElementById("in2");
     var in2 = document.getElementById("in2");
    in2.delay = in1.duration;
     mixer.addStream(in2.captureStream(), window.currentTime + in1.duration);
     mixer.addStream(in2.startStream());
     document.getElementById("out").src = mixer;
     document.getElementById("out").src = mixer;
    in1.play();
   }
   }
  </script>
  </script>
Line 309: Line 309:
  <audio id="out" autoplay></audio>
  <audio id="out" autoplay></audio>
  <script>
  <script>
   var stream1 = document.getElementById("in1").startStream();
   var stream1 = document.getElementById("in1").captureStream();
   var mixer = stream1.createProcessor();
   var mixer = stream1.createProcessor();
   document.getElementById("out").src = mixer;
   document.getElementById("out").src = mixer;
   function switchStreams() {
   function switchStreams() {
     var in2 = document.getElementById("in2");
     var in2 = document.getElementById("in2");
     in2.currentTime = stream1.currentTime;
     in2.currentTime = in1.currentTime;
     var stream2 = in2.startStream();
     var stream2 = in2.captureStream();
     stream2.volume = 0;
     stream2.volume = 0;
     stream2.live = true; // don't block while this stream is playing
     stream2.live = true; // don't block while this stream is blocked, just play silence
     mixer.addStream(stream2);
     mixer.addStream(stream2);
     stream2.onplaying = function() {
     stream2.onplaying = function() {
1,295

edits