我很难想出解决这个问题的方法,我正在用星号开发一个电话ivr智能应用程序,它需要一些时间来读取来电者的号码,星号的工作方式是使用文件say.conf来构建音频文件来播放要输入的数字。
例如,如果我编写saynumber(123),它将进入say.conf文件并找到匹配的regex,然后构建要播放的文件列表(在本例中,它将播放/say.conf/100,然后是数字/20,然后是数字/3,
现在谈一谈问题:
命令SayNumber在播放文件时不听用户输入,这意味着用户不能通过在手机上输入一些号码来中断系统,这对用户来说是不方便的。
命令Read(var,filestoplayseperatedby&)能够在播放文件列表时侦听用户的dtmf输入。我试图实现的是将基于say.conf文件的文件列表获取到一个变量,然后在获得文件后,我将使用Read命令,它将在侦听用户输入时说出数字。我也不想使用tts引擎,因为它是一个多语言的应用程序,并不是所有的tts都可用(希伯来语等等)。另外,tts不会解决播放时听用户输入的主要问题。
对不起我的英语,因为我不是以英语为母语的。
下面是星号say.conf文件的一部分:
_[n]um:X000000000 => num:${SAY:0:1}, digits/billion
_[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
_[n]um:XX000000000 => num:${SAY:0:2}, digits/billion
_[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
_[n]um:XXX000000000 => num:${SAY:0:3}, digits/billion
_[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}任何帮助都将不胜感激。
发布于 2014-06-10 19:43:53
你有两个选择
1)将数字改为数字(c/c++编程)
2)给出正确的字符串来读取app(使用/agi或其他方法)
https://stackoverflow.com/questions/24148679
复制相似问题