争渡语音开放接口(ZDOPENTTSAPI)是将争渡读屏使用的语音接口开放出来,从而可以让用户根据自己的喜好来开发自己的语音插件。 通过争渡语音开放接口,用户可将自己喜欢的语音库作出插件从而供争渡读屏调用。

ZDOpenTTSAPI 只有接口定义,不包含具体实现。争渡读屏(http://www.zdsr.net/)不对第三方语音插件做任何保证。 API为32位dll,路径为 {pf}\zdsr\common\opentts\{pluginname}\{pluginname}.dll 备注:opentts目录下要求存在pluginname文件夹,并且该文件夹内存在pluginname.dll文件,该插件才会被加载。

  • 名称: 争渡语音开放接口(ZDOpenTTSAPI)
  • 版本: 1
  • 需要实现的方法如下:

1.初始化语音接口

BOOL WINAPI InitTTS(int openTTSVersion) 参数: [in] int openTTSVersion: 读屏要求的版本号,对比本接口版本号,若不同,则返回失败 返回值: FALSE:失败 TRUE:成功

2.获取角色数量

int WINAPI GetVoiceCount() 返回值: int: 角色数量

3.获取指定角色的名称

void WINAPI GetVoiceName(int vid, WCHAR* voiceName) 参数: [in] int vid: 角色序号 [out] WCHAR* voiceName 返回角色名称,Unicode 返回值: void

4.设置语音引擎参数

void SetParam(int type,int value) 参数: [in] int type : 参数类型 0: 角色序号 1: 语速 2: 音量 3: 音高 4: 声卡 5: 数字读法 [in] int value: 值 角色序号0-N;语速,音量,音高均为0--100;声卡0-N;数字读法0-1 返回值: void 备注:不支持的参数实现时可忽略

5.获取朗读状态

BOOL WINAPI IsSpeaking() 返回值: TRUE 正在朗读 FALSE 停止朗读

6.获取是否引擎控制数字读法

BOOL WINAPI IsControlNumricType() 返回值: TRUE 支持数字数值读法控制 FALSE 不支持数字数值读法控制

7.朗读文本

void WINAPI Speak(WCHAR* text) 参数: [in] WCHAR* text: 要朗读的文本,Unicode 返回值: void

8.停止朗读

void WINAPI Stop() 返回值: void

9.暂停朗读

void WINAPI Pause() 返回值: void

10.恢复朗读

void WINAPI Resume() 返回值: void

11.打开引擎设置

void WINAPI OpenSettings() 返回值: void

12.额外配置

争渡读屏在送入语音接口朗读之前,会对文本做必要的格式化处理,如果争渡读屏对文本的处理会影响到插件语音的朗读效果,则可以使用该配置文件来进行修正。

  • 约定的配置文件名称为:{pluginname}.ini
  • 存放到插件所在目录
  • 必须保存为unicode(utf-16LE)格式
  • 参考格式如下:

[Settings] novocalchar= ;替换发音字符,缺省为空格 filterchars= ;读屏标点方案设置为不发音,而该引擎会发音的标点符号串