📄 djtts3.pas
字号:
unit DJTTS3;
interface
uses windows;
const
INFO_CONVERT_COMPLATE = 1; //语音文件转换完毕
INFO_CONVERT_NOT_COMPLATE = 2; //语音文件转换未完毕
INFO_PLAY_COMPLATE = 3; //转换播放完毕
INFO_PLAY_NOT_COMPLATE = 4; //转换播放未完毕
INFO_USE_LABLE = 1; //使用使用转换标识
INFO_NOTUSE_LABLE = 0; //不使用使用转换标识
INFO_TEXT_BUFFER = 0; //文本字符串
INFO_TEXT_FILENAME = -1; //文本文件名
OPERATE_SUCCESS = 0; //操作成功
ERR_NOT_INIT_TTS_CARD = -1; //没有初始化语音卡
ERR_NOT_TTS_CARD = -2; //不是TTS卡
ERR_MEMERY_ASSIGN_FAIL = -3; //内存分配失败
ERR_NO_TTS_CHANNEL = -4; //没有TTS通道资源
ERR_INIT_TTS_CHANNEL_FAIL = -5; //初始化TTS通道失败
ERR_TTS_CHANNELNO_INVALID = -6; //TTS通道号无效
ERR_TTS_CHANNEL_NO_FREE = -7; //TTS通道不空闲
ERR_INPUTTEXTSTR_INVALID = -8; //输入文本字符串为空
ERR_INPUTTEXTFILE_NOT_EXISTS = -9; //输入文本文件不存在
{-------------------------------------------------------------------------------
Procedure: DJTTS3_Init
Author: Xsp
DateTime: 2006.04.25
Arguments:
Result: LongInt
大于0的数值 ·操作成功(返回可以使用语音通道数)
ERR_NOT_INIT_TTS_CARD ·没有初始化语音卡
ERR_NOT_TTS_CARD ·不是TTS卡
ERR_NO_TTS_CHANNEL ·没有TTS通道资源
ERR_INIT_TTS_CHANNEL_FAIL ·初始化TTS通道失败
Popose: TTS初始化。为了使用TTS功能,必须成功调用本函数。本函数首先创建转换
线程并分配内存。本函数还要求在系统中,存在D161A-TTS卡并且已经成功的初始化了
该卡(成功调用函数EnableCard)。
-------------------------------------------------------------------------------}
function DJTTS3_Init(): LongInt; stdcall; far external 'DJTTS3.dll';
{-------------------------------------------------------------------------------
Procedure: DJTTS3_AddTTSToChannel
Author: Xsp
DateTime: 2006.04.25
Arguments: wChnlNo: Word
Result: LongInt
OPERATE_SUCCESS ·操作成功
ERR_TTS_CHANNELNO_INVALID ·TTS通道号无效
ERR_TTS_CHANNEL_ISNOT_ENOUGH ·TTS通道资源不够
Popose: 在DJTTS3_Init成功后调用,向可用的语音通道添加TTS引擎资源。为了使用
TTS功能,必须成功调用本函数。注意:建议只对需要TTS功能的语音通道(一般为外线
通道)添加TTS引擎资源,以减少系统资源的使用和转换效率的提高。
-------------------------------------------------------------------------------}
function DJTTS3_AddTTSToChannel(wChnlNo: Word): LongInt; stdcall; far external 'DJTTS3.dll';
{-------------------------------------------------------------------------------
Procedure: DJTTS3_DelTTSFromChannel
Author: Xsp
DateTime: 2006.04.25
Arguments: wChnlNo: Word
Result: LongInt
OPERATE_SUCCESS ·操作成功
ERR_TTS_CHANNELNO_INVALID ·TTS通道号无效
Popose: 在DJTTS3_Release前调用,从可用的语音通道释放TTS引擎资源。
-------------------------------------------------------------------------------}
function DJTTS3_DelTTSFromChannel(wChnlNo: Word): LongInt; stdcall; far external 'DJTTS3.dll';
{-------------------------------------------------------------------------------
Procedure: DJTTS3_GetTotalTTSChannel
Author: Xsp
DateTime: 2006.04.25
Arguments:
Result: integer
Popose: 返回系统中激活的TTS通道资源的个数。
-------------------------------------------------------------------------------}
function DJTTS3_GetTotalTTSChannel(): Integer; stdcall; far external 'DJTTS3.dll';
{-------------------------------------------------------------------------------
Procedure: DJTTS3_GetLeaveTTSChannel
Author: Xsp
DateTime: 2006.04.25
Arguments:
Result: integer
Popose: 返回系统中激活了未使用的TTS通道资源的个数。
-------------------------------------------------------------------------------}
function DJTTS3_GetLeaveTTSChannel(): Integer; stdcall; far external 'DJTTS3.dll';
{-------------------------------------------------------------------------------
Procedure: DJTTS3_Release
Author: Xsp
DateTime: 2006.04.25
Arguments:
Result: None
Popose: 释放初始化函数占用的资源。本函数必须在DisableCard之前调用。
-------------------------------------------------------------------------------}
procedure DJTTS3_Release(); stdcall; far external 'DJTTS3.dll';
{-------------------------------------------------------------------------------
Procedure: DJTTS3_StartPlayText
Author: Xsp
DateTime: 2006.04.25
Arguments: wChnlNo: Word; pText: Pchar; InputType: Integer; iVoice: Integer = 0; iSpeed: Integer = 50; iVolume: Integer = 50; iLableFlag: Integer = INFO_USE_LABLE
Result: LongInt
OPERATE_SUCCESS ·操作成功
ERR_TTS_CHANNELNO_INVALID ·TTS通道号无效
ERR_NO_TTS_CHANNEL ·没有TTS引擎资源
ERR_TTS_CHANNEL_NO_FREE ·TTS通道不空闲
ERR_INPUTTEXTSTR_INVALID ·输入文本字符串为空
ERR_INPUTTEXTFILE_NOT_EXISTS ·输入文本文件不存在
Popose: 某个通道开始一个TTS放音。当成功的调用了本函数后,应该不断的调用函数
DJTTS3_CheckPlayTextEnd,以维持TTS放音的持续;如果需要停止TTS放音,可以调用
函数DJTTS3_StopPlayText。
-------------------------------------------------------------------------------}
function DJTTS3_StartPlayText(wChnlNo: Word; pText: Pchar; InputType: Integer;
iVoice: Integer = 0; iSpeed: Integer = 50; iVolume: Integer = 50;
iLableFlag: Integer = INFO_USE_LABLE): LongInt; stdcall; far external 'DJTTS3.dll';
{-------------------------------------------------------------------------------
Procedure: DJTTS3_CheckPlayTextEnd
Author: Xsp
DateTime: 2006.04.25
Arguments: wChnlNo: word
Result: LongInt
INFO_PLAY_COMPLATE ·转换播放完毕
INFO_PLAY_NOT_COMPLATE ·转换播放未完毕
ERR_TTS_CHANNELNO_INVALID ·TTS通道号无效
ERR_NO_TTS_CHANNEL ·没有TTS引擎资源
Popose: 检查通道TTS放音是否结束,并维持TTS放音的持续。在成功调用函数
DJTTS3_StartPlayText开始一个TTS放音以后,必须不断的调用本函数。
-------------------------------------------------------------------------------}
function DJTTS3_CheckPlayTextEnd(wChnlNo: word): LongInt; stdcall; far external 'DJTTS3.dll';
{-------------------------------------------------------------------------------
Procedure: DJTTS3_StopPlayText
Author: Xsp
DateTime: 2006.04.25
Arguments: wChnlNo: word
Result: LongInt
OPERATE_SUCCESS ·操作成功
ERR_TTS_CHANNELNO_INVALID ·TTS通道号无效
ERR_NO_TTS_CHANNEL ·没有TTS引擎资源
Popose: 停止通道TTS放音。
-------------------------------------------------------------------------------}
function DJTTS3_StopPlayText(wChnlNo: word): LongInt; stdcall; far external 'DJTTS3.dll';
function DJTTS3_CvtTextToVocFile(pText: Pchar; iVoice: Integer;
pVocFileName: Pchar; wChnlNo: Word = 0; iSpeed: Integer = 50;
iVolume: Integer = 50; iLableFlag: Integer = INFO_USE_LABLE): LongInt; stdcall; far external 'DJTTS3.dll';
function DJTTS3_CvtTextToWaveFile(pText: Pchar; iVoice: Integer;
pWaveFileName: PChar; wChnlNo: Word = 0; iSpeed: Integer = 50;
iVolume: Integer = 50; iLableFlag: Integer = INFO_USE_LABLE): LongInt; stdcall; far external 'DJTTS3.dll';
function DJTTS3_CvtTextFileToVocFile(pTextFileName: Pchar; iVoice: Integer;
pVocFileName: Pchar; wChnlNo: Word = 0; iSpeed: Integer = 50;
iVolume: Integer = 50; iLableFlag: Integer = INFO_USE_LABLE): LongInt; stdcall; far external 'DJTTS3.dll';
function DJTTS3_CvtTextFileToWaveFile(pTextFileName: PChar; iVoice: Integer;
pWaveFileName: Pchar; wChnlNo: Word = 0; iSpeed: Integer = 50;
iVolume: Integer = 50; iLableFlag: Integer = INFO_USE_LABLE): LongInt; stdcall; far external 'DJTTS3.dll';
function DJTTS3_CheckCvtEnd(wChnlNo: Word = 0): LongInt; stdcall; far external 'DJTTS3.dll';
function DJTTS3_CvtStop(wChnlNo: Word = 0): LongInt; stdcall; far external 'DJTTS3.dll';
function DJTTS3_StartAudioPlayText(pText: PChar; InputType: Integer;
iVoice: Integer = 0; iSpeed: Integer = 50; iVolume: Integer = 50;
iLableFlag: Integer = INFO_USE_LABLE): LongInt; stdcall; far external 'DJTTS3.dll';
function DJTTS3_StopAudioPlayText(): LongInt; stdcall; far external 'DJTTS3.dll';
function DJTTS3_CheckAudioPlayText(): LongInt; stdcall; far external 'DJTTS3.dll';
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -