首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Twilio中,您可以从为来电提供的URL列表中<Play>随机音频文件吗?

在Twilio中,您可以从为来电提供的URL列表中<Play>随机音频文件吗?
EN

Stack Overflow用户
提问于 2019-03-22 20:27:34
回答 1查看 346关注 0票数 3

使用Twilio进行交互式艺术展览,在那里您拨打电话并收听画廊中的音频。我希望来电者不要总是听到相同的20-30秒的音频在音频文件的开头。是否可以提供3-4个不同的音频文件,其中一个是随机选择来播放一个来电。甚至对单个音频文件的启动时间进行随机化也是有效的。

我找遍了每个人都没什么运气。

下面是我用于基本函数的代码。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Play> https://dl.dropboxusercontent.com/s/qt0l2zjrlssj3nv/CMCA-PHONE-01.mp3 </Play>
</Response>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-22 20:55:44

这里的福音传道者。

没有内置的方式这样做,但您肯定可以动态地生成TwiML,并随机选择<Play>谓词中包含的URL。

如果您不需要自己托管所有这些,Twilio函数会给您一种方法来编写一些可以生成它的Node。

例如,您可以创建一个包含n的数组,然后使用Math.random在该数组中选择一个随机项:

代码语言:javascript
复制
exports.handler = function(context, event, callback) {
  var items = [
    'http://www.example.com/1.mp3',
    'http://www.example.com/2.mp3',
    'http://www.example.com/3.mp3',
    'http://www.example.com/4.mp3'];

  var item = items[Math.floor(Math.random()*items.length)];

  var twiml = new Twilio.twiml.VoiceResponse()
  twiml.play(item);
  console.log(twiml.toString())
  callback(null, twiml);
};

希望这能有所帮助。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55307336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档