tts快速入门(wince版本)

1、把科大讯飞提供的含有API的SDK静态库InterSound4用语句
#pragma comment(lib,"InterSound4.lib")导入项目中,默认在一级编译目录中可识别。
或者通过设置项目属性方式导入。

2、将ReadResCB,InputCB,OutputCB,WatchCB,ProgressCB,ParamChangeCB回调函数
作为类变量,用static限制成内部函数,加快加载的速度。

3、为了加快速度,先在初始化中加载对象,设置参数等,下次调用直接合成。

4、设置输入文本代码页为GBK方式。
ivTTS_SetParam(hTTS, ivTTS_PARAM_INPUT_CODEPAGE, ivTTS_CODEPAGE_GBK);

5、在逆初始化中加入资源的释放,原科大讯飞提供存在内存泄漏现象 
if(tResPackDesc.pCBParam)//增加,防止内存溢出
fclose((FILE*)tResPackDesc.pCBParam);

6、合成的时候直接采用块式合成
fpOutPCM = fopen("//SDMEM//Monitor//MyTTS.pcm", "wb");
fpOutPhone = fopen("//SDMEM//Monitor//MyTTSText.txt", "wb");

tcbparm.pParam1st = NULL;//不采用流式合成
tcbparm.pParam2nd = fpOutPCM;
tcbparm.pParam3rd = fpOutPhone;

/************************************************************************
   块式合成
************************************************************************/
/* 设置发音人为 YANPING */
ivTTS_SetParam(hTTS, ivTTS_PARAM_ROLE, ivTTS_ROLE_YANPING);
char *msg ="欢迎你";
int len = strlen(msg);
ivTTS_SynthText(hTTS, (ivStr)msg, len);
if ( fpOutPCM )
{
 fclose(fpOutPCM);
 fpOutPCM = NULL;
}

if ( fpOutPhone )
{
 fclose(fpOutPhone);
 fpOutPhone = NULL;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值