用twilio录制块

时间:2017-12-08 15:56:38

标签: c# twilio

twilio新手。我正在尝试给我公司的IVR拨打twilio电话并记录语音块。例如,当我拨打IVR时,我得到: 您好,欢迎来到...按1进行... 我们的菜单最近更改了,因为...按1

我可以拨打:

static void Main(string[] args) 
{
string accountSid = "xxxxxxxx";
string authToken = "xxxxxxx";
Twilio.TwilioClient.Init(accountSid, authToken);
var call = CallResource.Create( 9876543210, 1234567890,
                                record: true,
                                recordingChannels: "dual",
                                url: new Uri("http://www.mycompany.com/DialOption"),
                                sendDigits: "wwww1234wwww1234567890")
 }

在我的网络服务器上,我有:

public class DialOptionController : TwilioController
    {

        [HttpPost]
        public TwiMLResult Index(VoiceRequest request)
        {  
            var response = new VoiceResponse();           
            response.Pause(19);
            response.Play(digits: "1");           

            response.Pause(19);
            response.Play(digits: "1");

            response.Pause(9);
            response.Play(digits: "1");

            return TwiML(response);
        }
    }

在选择选项之前如何让录音给我块,而不是整个录音在一个文件中?

1 个答案:

答案 0 :(得分:1)

我相信你无法以大块的方式接听电话。您只能在通话结束时获得指向整个录音的链接。

如果您选择Gatherinput=speech而不是默认input=speech dtmf,则可以在input=dtmf动词中录制唯一可以录制的录音,并提供partialResultCallback参数的值。例如:

var response = new VoiceResponse();
var gather = new Gather(input: "speech",
                        action: new Uri("/completed"),
                        partialResultCallback: new Uri("/partial"));
gather.Say("Welcome to Twilio, please tell us why you're calling");
response.Append(gather);
Console.WriteLine(response.ToString());