Một giải pháp khác cần xem xét là sử dụng Chuỗi Base64 để truyền dữ liệu từ Máy chủ đến máy khách.
Tôi đang làm việc trên một dự án Node.js nơi tôi nhận dữ liệu âm thanh ở dạng Bộ đệm đĩa và tôi muốn gửi và phát dữ liệu đó trong trình duyệt. Hầu hết các cuộc đấu tranh của tôi đến từ việc cố gắng gửi ArrayBuffer đến máy khách hoặc cố gắng chuyển đổi ArrayBuffer và gửi một Buffer.
Điều cuối cùng trở thành một giải pháp đơn giản đối với tôi là
- Chuyển đổi ArrayBuffer thành Chuỗi được mã hóa Base64 trên Máy chủ
- Trả lại / Gửi chuỗi Base64 đến máy khách từ máy chủ
- Tạo một phần tử / đối tượng Âm thanh ở phía máy khách và phát âm thanh
Tôi đã sử dụng base64-arraybuffer để thực hiện chuyển đổi ArrayBuffer> Base64 String (tuy nhiên, có thể đơn giản để thực hiện việc này mà không cần gói).
Tôi đã sử dụng các mẹo từ đây để tạo phần tử âm thanh ở phía máy khách.
* Tôi chưa làm được gì nhiều trong cách kiểm tra giới hạn - vì vậy tôi không biết cách này có thể xử lý các tệp âm thanh lớn như thế nào.