2

我正在尝试使用 websocket 发送音频消息,我应该将音频流更改为哪种类型的消息,以便我可以使用套接字发送?如果我直接使用 websocket.send(audio),我会得到一个错误“DOMException”,我应该把它改成二进制数据吗?如何?我对编程完全陌生,所以请帮忙!!!

4

1 回答 1

3

Websocket API 并支持发送 Blob 和 ArrayBuffer 二进制类型。

如果您的浏览器支持Mozilla 的音频数据 API,那么您可以从音频标签中读出数据作为 ArrayBuffer 并发送。但是,此 API 不太可能标准化。

如果您的浏览器支持 Web Audio API(由 Google 提出),那么您还可以提取数据的 ArrayBuffer 并将其发送。Web Audio API 可能会得到更多的采用。这是Web Audio API 的介绍此常见问题解答有一个答案,描述了如何使用 Web Audio API 从普通音频/视频标签中读取。

更新

这篇博文中提到的Aurora.js库看起来可能有助于处理音频和二进制数据。

于 2012-06-13T14:11:00.363 回答