Eine andere zu berücksichtigende Lösung besteht darin, eine Base64-Zeichenfolge zu verwenden, um Daten vom Server zum Client zu übertragen.
Ich arbeite an einem Node.js-Projekt, bei dem ich Audiodaten in Form eines ArrayBuffers empfange und diese Daten im Browser senden und wiedergeben möchte. Die meisten meiner Probleme waren auf den Versuch zurückzuführen, den ArrayBuffer an den Client zu senden oder den ArrayBuffer zu konvertieren und einen Puffer zu senden.
Was für mich eine einfache Lösung war, war zu
- Konvertieren Sie den ArrayBuffer in einen Base64-codierten String auf dem Server
- Rückgabe / Senden der Base64-Zeichenfolge vom Server an den Client
- Erstellen Sie auf der Client-Seite ein Audio-Element / -Objekt und spielen Sie den Sound ab
Ich habe base64-arraybuffer verwendet , um die Konvertierung von ArrayBuffer> Base64 String durchzuführen (es kann jedoch einfach sein, dies ohne ein Paket zu tun).
Ich habe Tipps von hier verwendet , um das Audioelement auf der Clientseite zu erstellen.
* Ich habe beim Testen von Grenzwerten nicht viel getan - daher weiß ich nicht, wie dies mit großen Audiodateien umgehen kann.