我下面的代码尝试用我的Twilio号码接听电话,记录用户输入,直到他们按下“ 1”键,然后给定记录的url发送到“ Show()”函数,在该函数中下载其内容。但是,它不起作用。我使用的是“ recordingStatusCallback”而不是“ action”,因为我想确保在发出请求时,录音可用于acces,否则我的代码会读取一个庞大的URL并崩溃。
问题是,一旦出现Say()动词,我就开始讲话并按1来完成音频的录制,但是接着又出现了Say()函数,就像Index()处于无限循环中一样,甚至“ recordingStatusCallback”也要向“ Show()”发出POST请求。我已经在使用“操作”而不是“ recordingStatusCallback”时测试了我的代码,并且它在大多数情况下都有效,但是有时会失败,因为我正在访问记录,然后才可用,因此我想让我的代码与“ recordingStatusCallback”一起使用。知道我该怎么办吗?
记录文档为:https://www.twilio.com/docs/voice/twiml/record
[HttpPost]
public ActionResult Index()
{
var response = new VoiceResponse();
response.Say("hello, how can I help you today?");
response.Record(recordingStatusCallback: Url.ActionUri("Show", "Voice"), playBeep: false, finishOnKey:"1");
return TwiML(response);
}
[HttpPost]
public ActionResult Show(string RecordingUrl)
{
...
using (var client = new WebClient())
{
response = client.DownloadData(RecordingUrl);
}
...
}