请输入您要查询的百科知识:

 

词条 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/15 19:27:33