Innym rozwiązaniem do rozważenia jest użycie ciągu Base64 do przesyłania danych z serwera do klienta.
Pracuję nad projektem Node.js, w którym odbieram dane audio w postaci ArrayBuffer i chcę wysyłać i odtwarzać te dane w przeglądarce. Większość moich problemów wynikała z próby wysłania ArrayBuffer do klienta lub próby przekonwertowania ArrayBuffer i wysłania bufora.
To, co okazało się dla mnie prostym rozwiązaniem, to
- Przekonwertuj ArrayBuffer na ciąg zakodowany algorytmem Base64 na serwerze
- Zwróć / wyślij ciąg Base64 do klienta z serwera
- Utwórz element / obiekt Audio po stronie klienta i odtwórz dźwięk
Użyłem base64-arraybuffer do wykonania konwersji ArrayBuffer> Base64 String (choć może to być proste bez pakietu).
Użyłem wskazówek stąd aby stworzyć element audio po stronie klienta.
* Nie zrobiłem zbyt wiele w zakresie testowania limitów - więc nie wiem, jak to poradzi sobie z dużymi plikami audio.