【问题标题】:How to receive and send back bytes audio data to Twilio?如何接收字节音频数据并将其发送回 Twilio?
【发布时间】:2019-11-11 15:00:41
【问题描述】:

我一直在从事 Twilio 项目,并使用本指南进行了所有设置:Stream TwiML

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

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

ws.send(bytes)
ws.receive()

我假设这两种方法是使用 Web 套接字来回发送和接收数据所必需的。 但是我从 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 Mono 音频数据。我认为 twilio 也在向我发送原始字节,因为它在文档中说它给出了原始字节(我假设它没有任何类型的编码)。所以我在这里只想接收从调用者发送到 twilio 的音频数据,以接收字节并将字节发送到我之前在烧瓶中设置的端点以进行处理,然后我可以对其进行一点处理并将 PCM 字节返回给它可以在主叫端播放。

我想要的只是呼叫者发送他的声音并得到处理并接收回来,也许我们的声音也会添加到其中。在这里如何处理字节无关紧要,我的概念是向其添加一些音频数据并发送回。

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

如果有人能指出 twilio 期望 Web 套接字返回的内容作为可以在调用方播放的音频数据,那就太好了。我应该对 twilio 有什么期待。但是由于在文档中它说有效负载发送原始字节,所以我假设它是一个以字节为单位的纯 PCM 数据。

请让我知道,以便我可以从 twilio 接收字节并将它们发回,这些字节可以在呼叫方播放,并且可以从这里听到呼叫者的声音。我也设置了播放器和客户端来播放字节数据,但是因为数据是普通的或递归的,所以我无法播放它。

提前致谢。

【问题讨论】:

    标签: twilio twilio-twiml


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

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

    如果您能够将要发送回的字节保存为音频文件,您可以通过 redirecting the call 将其播放到调用中的某个 TwiML,然后将 <Play>s the audio 播放到调用中。

    让我知道这是否有帮助。

    【讨论】:

    • 好的,这是故事的第二部分,我能够将字节保存到 mp3 或 wav,这不是问题,但问题是我收到了我在评论中提到的常量虚拟字节。该文档不足以阐明调用中正确的常量字节检索。而且我假设您还没有阅读 twilio 官方上说:twilio.com/media-streams“使用媒体流,您可以将语音数据传递给第三方以执行任务并将语音数据路由回 Twilio。”
    • 所以有两件事让我感到困惑 1. 你是说我不能直接通过网络套接字发回数据,但 twilio 说我们可以? 2. 使用 动词文档接收的数据是恒定的,没有可以播放的音频数据。即使我可以接收它并对其进行处理,它也不是有价值的数据,因为它给了我恒定的虚拟字节数据。
    猜你喜欢
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 2012-04-28
    • 2019-10-28
    • 1970-01-01
    相关资源
    最近更新 更多