Іншим рішенням, яке слід розглянути, є використання рядка Base64 для передачі даних із сервера на клієнта.
Я працюю над проектом Node.js, де отримую аудіодані у вигляді ArrayBuffer, і я хочу надсилати та відтворювати ці дані у браузері. Більшість моїх труднощів виникали внаслідок спроби відправити ArrayBuffer клієнту або спроби перетворити ArrayBuffer і надіслати буфер.
Що виявилося простим рішенням для мене, це було
- Перетворіть ArrayBuffer у рядок, кодований Base64, на сервері
- Повернення / надсилання рядка Base64 клієнту з сервера
- Створіть звуковий елемент / об’єкт на стороні клієнта та відтворіть звук
Я використовував base64-arraybuffer для виконання перетворення ArrayBuffer> Base64 String (хоча це може бути просто зробити без пакета).
Я використовував поради тут, щоб створити звуковий елемент на стороні клієнта.
* Я не надто зробив тестування обмежень - тому я не знаю, як це може обробляти великі аудіофайли.