【问题标题】:How to programmatically manipulate voice in real time while dialing using Twilio?如何在使用 Twilio 拨号时以编程方式实时操作语音?
【发布时间】:2022-07-19 16:23:41
【问题描述】:

我有一个小型 Twilio 应用程序,只要使用我的个人号码(例如 +1111111)呼叫我的 Twilio 号码(例如 +22222222),它就会呼叫一个真实的电话号码(例如 +3333333)。我使用以下 Twilio 函数实现了这一点:

exports.handler = (context, event, callback) => {
  const twiml = new Twilio.twiml.VoiceResponse();
  twiml.dial("+3333333");
  return callback(null, twiml);
};

现在当 +3333333 的所有者拿起他的电话时,呼叫者 (+1111111) 和目标 (+3333333) 之间建立了通话连接。

我如何通过在呼叫者 (+1111111) 或目标 (+3333333) 说话时运行一个函数来实时截取此通话中的语音,以执行诸如更改语音、过滤脏话等操作?

我曾尝试在我的 Twilio 函数中使用 <Gather><Say> TwiML 动词,但只有在通话结束或挂断后才会触发这些动词。

【问题讨论】:

    标签: node.js twilio twilio-programmable-voice


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    您现在实际上可以使用 Twilio 实现这一目标。您可以使用<Connect><Stream> TwiML 接收和发送音频流。 <Stream> 允许您通过 websocket 连接实时接收和发送音频到呼叫。

    要更改两者之间的音频,您可能只想将呼叫者连接到<Stream>,而不是彼此连接,然后通过 websocket 以及您想要对其进行的任何处理来中继来自一个呼叫的音频,然后通过连接到另一个呼叫的 websocket 出去(反之亦然)。

    我没有更多关于如何做到这一点的信息,因为我还没有看到它完成。但理论上是可以的。

    【讨论】:

    • 感谢您的建议。据我了解, 就像 的替代品。但是我将如何执行 然后将处理后的语音转发给其他呼叫者,同时让电话看起来不间断?
    • 使用<Stream>,您可以在服务器上接收到 websocket 连接的实时音频,您还可以通过 websocket 将实时音频发送回呼叫。所以和<Gather>很不一样。
    【解决方案2】:

    我想将音频语音更改集成到 Twilio 语音呼叫步骤和问题中

    1. 调用 Rest API 以进行从一台设备到另一台设备的介绍性调用

    2. 现在如何在通话之间实现语音转换器?

    3. 对于更改声音,我会推荐 Aroga 语音转换器功能

    4. 现在如何向 Twilio Input 提供 Agora 语音转换器输出?

    最重要的是,我们如何将两个功能相互连接? #TwilioHelp #TwilioSupport

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    相关资源
    最近更新 更多