首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于C#的交互式语音识别编程库

用于C#的交互式语音识别编程库
EN

Stack Overflow用户
提问于 2011-05-11 22:23:01
回答 3查看 1.7K关注 0票数 0

我想写一个响应调用的程序。在一条欢迎信息之后,它必须告诉客户:按1输入您的账号,或按2与接线员通话。如果客户按1,则告诉他或她输入您的帐号,在他或她输入帐号后,该号码必须保存在数据库中。

这在c#中是可能的吗?如果是的话,我想要一个c#的IVR库。如果没有,我需要一个用于c++的强大的IVR库。

EN

回答 3

Stack Overflow用户

发布于 2011-05-11 22:58:14

微软有Microsoft Speech API (SAPI),但是如果你想要简单的IVR,最好不要重复发明轮子和定制一个Asterisk实现(我猜它属于“用于c++的伟大的IVR库”类别(它是c而不是c++,但如果你了解c++,你应该能够理解c)。使用AsteriskNow,你可能甚至不需要编写任何自定义代码,它可能已经做了你想要的事情。

票数 2
EN

Stack Overflow用户

发布于 2011-05-11 22:29:03

我不知道C#上有没有免费的IVR库,但我确实知道有几个相当便宜的:

http://www.voiceelements.com/

http://www.componentsource.com/products/velocity/index.html

票数 1
EN

Stack Overflow用户

发布于 2016-04-06 22:49:02

我是Twilio剧组的里奇。

我们有一个tutorial on building an IVR with C#,看看这个可能会对如何构建这种类型的应用程序有所帮助。

无论何时有电话打进我们的电话号码,都会向我们的服务器发出一个请求,我们可以在服务器上使用TwiML响应一些关于如何处理呼叫的基本指令:

代码语言:javascript
复制
        public TwiMLResult Welcome()
        {
            var response = new TwilioResponse();
            response.BeginGather(new {action = Url.Action("Show", "Menu"), numDigits = "1"})
                .Play("http://howtodocs.s3.amazonaws.com/et-phone.mp3", new {loop = 3})
                .EndGather();

            return TwiML(response);
        }

由于我们使用的是 verb,当用户按下一个数字时,一个新的超文本传输协议请求将被发送到我们服务器上的另一个路由,我们可以根据用户按下的数字采取行动:

代码语言:javascript
复制
    public TwiMLResult Show(string digits)
    {
        var selectedOption = digits;
        var optionActions = new Dictionary<string, Func<TwiMLResult>>()
        {
            {"1", ReturnInstructions},
            {"2", Planets}
        };

        return optionActions.ContainsKey(selectedOption) ?
            optionActions[selectedOption]() :
            RedirectWelcome();
    }

希望这能有所帮助!

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

https://stackoverflow.com/questions/5965818

复制
相关文章

相似问题

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