Mischen Sie zwei Audiopuffer, setzen Sie einen auf den Hintergrund eines anderen mit Hilfe von Web Audio API

8

Ich möchte zwei Audioquellen mischen, indem Sie einen Song als Hintergrund für einen anderen Song in eine einzelne Quelle einfügen.

zum Beispiel habe ich eingegeben:

%Vor%

Und Skript zum Dekodieren dieser Dateien:

%Vor%

Also, wie kann ich diese Quellen in eine Quelle mischen? Zum Beispiel habe ich zwei Dateien, wie kann ich eine Quelle als Hintergrund eines anderen setzen und diese Mischung in eine einzige Quelle einfügen?

Ein anderes Szenario: Wenn ich zum Beispiel den Eingangsstrom vom Mikrofon lese und diese Eingabe auf den Hintergrund-Song (eine Art Karaoke) stellen möchte, ist es möglich, diese Arbeit am Client mit html5-Unterstützung zu erledigen? Was ist mit Leistung? Vielleicht bessere Möglichkeit, diese Audioquellen serverseitig zu mischen?

Wenn es möglich ist, also was die mögliche Implementierung von mixAudioSources funktioniert?

Danke.

    
Oleg Yudovich 02.03.2017, 13:37
quelle

1 Antwort

3

Zwei Ansätze wurden ursprünglich in Ist es möglich, mehrere Audiodateien vorzugsweise mit Javascript zu mischen , angepasst um File Objekte bei change event von <input type="file"> element.

Der erste Ansatz verwendet OfflineAudioContext() , AudioContext.createBufferSource() , AudioContext.createMediaStreamDestination() , Promise Konstruktor, Promise.all() , MediaRecorder() , um Audiotracks zu mischen und dann eine gemischte Audiodatei zum Download anzubieten.

%Vor% %Vor%

Der zweite Ansatz verwendet AudioContext.createChannelMerger() , AudioContext.createChannelSplitter()

%Vor% %Vor%
    
guest271314 10.03.2017, 06:16
quelle