1,295
edits
Line 268: | Line 268: | ||
} | } | ||
var mixer = processed.createProcessor(); | var mixer = processed.createProcessor(); | ||
mixer.addStream(document.getElementById("back"). | 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. | var mixer = in1.captureStream().createProcessor(); | ||
var in2 = document.getElementById("in2"); | var in2 = document.getElementById("in2"); | ||
mixer.addStream(in2.captureStream(), window.currentTime + in1.duration); | |||
mixer.addStream(in2. | |||
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"). | 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 = | in2.currentTime = in1.currentTime; | ||
var stream2 = in2. | var stream2 = in2.captureStream(); | ||
stream2.volume = 0; | stream2.volume = 0; | ||
stream2.live = true; // don't block while this stream is | 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() { |
edits