争渡语音开放接口API(ZDOPENTTSAPI)

争渡语音开放接口(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= ;读屏标点方案设置为不发音,而该引擎会发音的标点符号串