Wie kann die MediaStream-Lautstärke im JavaScript AudioRecorder beibehalten werden?JavaScript

Javascript-Forum
Guest
 Wie kann die MediaStream-Lautstärke im JavaScript AudioRecorder beibehalten werden?

Post by Guest »

Ich verwende die MediaRecorder-API, um zwei Medienströme aufzuzeichnen:
  • 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;
Das Echo selbst funktioniert gut, Verzögerung und Verstärkung werden wie erwartet angewendet (weniger Verstärkung → Echo ist leiser und umgekehrt).
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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post