词条 | koodoo |
释义 | 百科名片Koodoo语言是一种简单高效的脚本语言,有现代脚本语言动态变量、动态数组等容易上手的特点,同时又适应电信行业高性能的要求。它主要应用在语音系统相关的开发,即CTI(计算机电话集成)领域,如IVR(交互式语音应答,即电话自动语音应答,如电话银行、证券电话委托、声讯系统等),CallCenter(呼叫中心、客服中心)等。对于语音系统来说存在多通道并发的问题,传统的解决方法就是状态机,对语音系统的开发人员实在太麻烦了,摒弃状态机,创造一种运行在单独通道上的高级脚本语言,给语音系统的开发带来了开发效率上的飞跃。 简介创 建 者:朱东宁 创建时间:2001年 开发历程:Koodoo语言采用C++完全独立开发的,并没有参考任何开源代码,在2001年推出了第一个版本,随后提供了多种主流语音卡硬件平台的支持,并实现了可视化的调试环境和运行环境。 版本升级:Koodoo语言采用类似开源代码的小版本号,目前版本号是ver2.19j,大概一个月左右就会推出一个小的升级版本。 应用领域:Koodoo语言有不少电信、金融等行业的用户,随着IVR、CTI市场的发展,甚至3G等应用的展开,Koodoo语言将支持更多的硬件和电信协议,一定有更广泛的应用。 开发工具: 采用任何一个文本编辑器--比如记事本, 写上一段Koodoo语言脚本代码, 最好保存为".bss"的扩展名. 推荐使用UltraEdit,这款编辑器功能很强大,简单设置后可以使用语法加亮、代码缩进和代码折叠等功能, 使用命令行编译器可在UltraEdit-32下即时编译,构成IDE,请参考: 用UltraEdit来开发 也可以使用EditPlus编辑器,参考: 用EditPlus来开发 也很多人使用Visual Studio或C++Builder等自己熟悉的高级语言编辑器,非常好。但最好不要使用VB的编辑器,因为它会自动把关键字首字母变成大写. 注意:我们的脚本语言和C或Java一样是大小写敏感的. 运行平台: 运行蓝星际语音开发平台, 弹出画面: 指定脚本文件, 如果不愿意输入, 可以点击菜单:"文件/打开", 然后选择一个脚本文件。 选择线路, “线路”相当于语音卡硬件的通道或通道号,选择你连接了电话线的线路号,如果您没有任何语音卡线路,请选择最后一条也就是“虚拟线路”,该线路会自动采用声卡来放音或录音。 点击"编译(F7)"按钮, 如果顺利就会在中间生成主流程的语法树, 如果有语法错误, 将会弹出一个错误窗口, 告诉你错误的行数, 错误的原因, 这时您需要修改脚本直到没有任何错误. 点击"运行(F9)"按钮, 脚本将执行; 您可以点击"刷新(F5)"按钮, 然后在变量列表栏目去察看变量, 您可以对变量排序, 也可以双击变量查看其详细内容. 如果脚本运行在虚拟线路上(声卡模拟环境),可以点击“模拟按键”输入框,在里面输入数字来模拟电话DTMF按键输入。 调试: 在运行之前您可以在语法树上设置很多断点, 这样运行到断点处就会停下来, 这时您还可以"单步(F8)"执行语句, 便于跟踪流程和了解变量在当前时刻的值。在单步状态,可以双击主流程或子函数语法树上的任意语句,这时将显示该语句的相关变量,和他们的值。 显示调用列表: 设置断点后, 当运行到断点处停下来时, 可选择主菜单“运行/显示调用堆栈”,在子窗口中将显示当前函数的调用堆栈列表,双击列表中的任一函数名将显示该函数全部变量的当前值。 命令行或快捷方式: “BsTel.exe 脚本文件名 线路号” --将自动在指定的线路编译并运行该脚本. 常见代码示例Koodoo语言的"Hello, world!": WaitRing(1); // 等待来电 Play("Welcome.wav"); // 播放欢迎语音 Hangup(); // 挂断 就这三行语句,构成了一个最简单的语音应答机(IVR). 当然,运行上面的例子最好有语音卡硬件或者语音猫,还需要录制那个欢迎语音Welcome.wav文件。 有朋友会说,我暂时没有语音卡也没有语音猫,怎么办呢?没关系,电脑上只要安装声卡就可以了。 如果你安装了微软的SAPI--是免费的,你也可以不录音: WaitRing(1); // 等待来电 TxtSpeak("您好,欢迎来电!", false, false); // TTS合成欢迎语音 Hangup(); // 挂断 让我们看看别的方式输出"Hello, world!": 在第一个信息栏显示信息: DispInfo(0, "Hello, world!"); return(0); 在日志文件记录信息: TextFileAppend("userlog.txt", "Hello, world!", true); // 日志文件名为:"userlog.txt" return(0); 常量 Koodoo语言支持常量定义,如: const PAI = 3.1415926; const BLUE_SPACE = "深圳市蓝星际公司"; "const"关键字,表示后面的符号是个常量,常量在运行时不会被改变。 注意,系统也提供了几个有用的常量: _lineNo // 当前线路号, 整型, 从0开始 _bssFile // 本线路执行的脚本文件名, 字符串类型 true //逻辑真, 也就是整型1 false // 逻辑假, 也就是整型0 变量 Koodoo语言支持动态的变量,如: i = 0; // i现在是整型0 i= "Space"; // i现在是字符串"Space" i = 19.34; // i现在是双精度浮点型值为19.34 可以进行复杂的变量运算: a = 23; i1 = 99*88; v = 10 - 8*2 + a*(i1-10); 朱东宁介绍网名:bluesen,真名朱东宁。大学专业为物理学,曾任物理教师和光谱分析工程师。在大学时代曾学习APPLE II的BASIC语言,而后喜欢写程序,90年代初到深圳成为专业程序员,96年和朋友创建蓝星际公司至今,几乎每天都在写程序,常用C/C++。 早年做金融行业软件,近年来专注于语音平台系统软件开发,设计并实现了高级脚本语言Koodoo语言,Koodoo语言可以在大容量的线路上并发执行,如单机几十个电信E1线路即上千个并发话路,系统仍能稳定高效运行。在CTI(计算机电话语音集成)行业有14年的开发经验。 “业余喜欢阅读和写作。得意之作是在网上发表的技术文章“从历史的角度再论状态机”,曾被中南大学教授在专业论文中引用。喜欢有技术含量的网络辩论,痛快,痛快。” |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。