- Die Mikrofoneingabe des Benutzers, erhalten auf folgende Weise:
Code: Select all
const stream = await navigator.mediaDevices.getUserMedia({
audio: true
});
- Ein Echo der Eingabe, erstellt auf folgende Weise:
Code: Select all
const audioContext = new (window.AudioContext || window.webkitAudioContext)();
source = audioContext.createMediaStreamSource(stream);
delay = audioContext.createDelay(2);
delay.delayTime.value = ms / 1000;
gain = audioContext.createGain();
gain.gain.value = parseFloat(1)
source.connect(delay); // delay is set elsewhere by the user
delay.connect(gain); // gain is set elsewhere by the user
gain.connect(audioContext.destination);
const outputStream = audioContext.createMediaStreamDestination();
delay.connect(outputStream);
// ECHO STREAM OBJECT FOR MEDIA RECORDER
echoStream = outputStream.stream;
Aber Wenn ich die Streams mit MediaRecorder aufzeichne, haben sie alle die gleiche Lautstärke. Ich muss die Lautstärke des Echos genau so beibehalten, wie der Benutzer es über seine Lautsprecher hört. Wie kann dies erreicht werden? Ist das mit der MediaRecorder-API überhaupt möglich?