微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Twilio TwiML 说然后在来电中播放

如何解决Twilio TwiML 说然后在来电中播放

我需要我的应用能够首先对来电说些什么,然后循环播放录音。

这段 ruby​​ 代码曾经可以做我想做的事,但现在似乎不再起作用了。

return 200,Twilio::TwiML::VoiceResponse.new do |r|
  r.say(voice: 'alice',message: 'Hello World')
  r.play(
    loop: 0,url: 'https://my-domain/beep'
  )
end.to_s

代码生成以下 XML

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say voice="Alice">Hello World</Say>
    <Play loop="0">https://my-domain/beep</Play>
</Response>

Alice 说了她应该说的话,但没有播放循环测试哔声。我已验证我的服务器为 Content-Type: audio/x-wav 提供了正确的 beep 文件

如果您有任何关于如何实现我正在尝试做的事情的指示,我将不胜感激。

解决方法

响应 Ruby 中的来电

# Get twilio-ruby from twilio.com/docs/ruby/install
require 'sinatra'
require 'twilio-ruby'

post '/voice' do
  city = params['FromCity']

  # Start our TwiML response
  Twilio::TwiML::VoiceResponse.new do |r|
    # Use <Say> to give the caller some instructions
    r.say("Never gonna give you up #{city}.",voice: 'alice')
    r.play(url: 'https://demo.twilio.com/docs/classic.mp3')
  end.to_s
end
,

为了将来参考,这是由 Twilio 缓存旧的 wav 文件(碰巧故意保持沉默)引起的。刷新缓存后,Twilio 现在可以播放正确的声音文件。

我希望这对某人有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。