如何接收字节音频数据并将其发送回 Twilio?

How to receive and send back bytes audio data to Twilio?

我一直在做一个 Twilio 项目,我已经使用本指南设置了所有内容:Stream TwiML

我已经在 Alan 的帮助下解决了一个常见问题

我无法发回我正在使用的已处理字节。

ws.send(bytes)
ws.receive()

我假设这两种方法是使用网络套接字来回发送和接收数据所必需的。 但是我从 twilio 接收到一个恒定的数据流。

那是: b'\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xf

这没有任何意义。该指南官方说您可以从实时调用中获取字节,然后发送它们。所以假设我接收字节并使用我的自定义逻辑处理它们可能将其存储在某个地方。我的处理以字节为单位输出相同的 PCM/16Bit 单声道音频数据。我认为 twilio 也向我发送原始字节,正如它在文档中所说的那样,它给出了原始字节(我假设没有任何类型的编码)。所以我在这里想要的只是接收从调用者发送到 twilio 的音频数据,以接收字节并将字节发送到我之前在 flask 中设置的端点来处理,然后我可以稍微处理它 return PCM可以在调用方播放的字节数。

我只想让来电者发送他的声音并进行处理并接收回来,也许我们的声音也会添加到其中。这里字节的处理方式无关紧要,我的想法是向其中添加一些音频数据并发回。

但是由于 动词是新的,所以我无法找到如何正确处理字节并将它们发回的方法。

如果有人能告诉我 twilio 在网络套接字 return 中期望的是可以在调用方播放的音频数据,那就太好了。我应该从 twilio 得到什么。但是因为在文档中它说有效载荷发送原始字节所以我假设它是一个以字节为单位的普通 PCM 数据。

请告诉我,这样我就可以从 twilio 接收字节并将它们发回,可以在来电方播放,并且可以从 here.I 听到来电者的声音,也可以设置播放器和客户端来播放字节数据,但由于数据是普通数据或递归数据,我无法播放它。

提前致谢。

此处为 Twilio 开发人员布道师。

据我所知,目前 Media Streams 仅支持以一种方式将数据流式传输到您的服务器。您无法通过 websocket 连接将媒体流式传输回 Twilio。

如果您能够将要发回的字节保存为音频文件,则可以通过 redirecting the call to some TwiML that <Play>s the audio 在通话中播放它。

如果有帮助请告诉我。