请问谁搞过东进的语音卡的开发,请帮助!!!(100分)

  • 主题发起人 主题发起人 rzqcjwrz
  • 开始时间 开始时间
R

rzqcjwrz

Unregistered / Unconfirmed
GUEST, unregistred user!
东进的D系列的DJD161A卡,我在编程时,不知怎么调用:1..9的VOC格式的真人发音,如D0..D9.
在输入按键后,让卡读出输入的值,怎样写?
for i:=1 to channel[channelno].idcountdo

begin

str:=str+inttostr(bankID);
edit2.text:=str;//str是按键输入的值
startplayfile(channelno,'voc/D+inttostr(bankID)',0);//此处不知怎么写了?
end;
 
接口函数帮助里有
 
杜汉:
谢谢您的提示!!!
 
杜汉:请问高手具体怎么写?
 
以前我就写过。不过都三年没有搞了喽。

你可以考虑直接对接口播放语音文件即可啊!
 
我三年前用过,东进有本黄色的说明书(据说50块一本),里面很详细,什么都有,去找找看,他光盘或网站都有其相关例程资料(delphi、vb、vc等)
 
我好像没有说明书,网站上我也去看了,但没有关于我要的发音程序.
 
你下载一个说明书,到他的网站上,那里开发说明,很多函数,如果要实现文本转语音必须安装 TTS驱动和TTS语音库的,然后调用 有关TTS的函数就可以了,我刚刚做完
 
忘了说了,还需要你到购买卡的公司申请开通TTS功能,好像开通一个TTS功能需要200元!
 
播放 voc 文件不需要tts的
 
code:=getdtmfcode(channelno);
if code=1 then

begin

stopplayfile(channelno);
showgrid.Cells[3,channelno+1]:='余额是……';
rsetindexplayfile(channelno);
addindexplayfile(channelno,'voc/bank.005');
startindexplayfile(channelno);
addindexplayfile(channelno,'voc/d4');
addindexplayfile(channelno,'voc/d12');
addindexplayfile(channelno,'voc/d8');
addindexplayfile(channelno,'voc/d11');
addindexplayfile(channelno,'voc/d9');
addindexplayfile(channelno,'voc/d10');
addindexplayfile(channelno,'voc/d5');
addindexplayfile(channelno,'voc/d15');
addindexplayfile(channelno,'voc/d1');
addindexplayfile(channelno,'voc/d3');
addindexplayfile(channelno,'voc/bank.008');
channel[channelno].Step:=9;
end
else
if code=2 then

begin

stopplayfile(channelno);
showgrid.Cells[3,channelno+1]:='利率是……';
rsetindexplayfile(channelno);
addindexplayfile(channelno,'voc/bank.006');
startindexplayfile(channelno);
addindexplayfile(channelno,'voc/d0');
addindexplayfile(channelno,'voc/d15');
addindexplayfile(channelno,'voc/d3');
addindexplayfile(channelno,'voc/d7');
addindexplayfile(channelno,'voc/bank.008');
channel[channelno].Step:=9;

end
else
if code=3 then

begin

stopplayfile(channelno);
showgrid.Cells[3,channelno+1]:='利息是……';
rsetindexplayfile(channelno);
addindexplayfile(channelno,'voc/bank.007');
startindexplayfile(channelno);
addindexplayfile(channelno,'voc/d5');
addindexplayfile(channelno,'voc/d11');
addindexplayfile(channelno,'voc/d7');
addindexplayfile(channelno,'voc/d10');
addindexplayfile(channelno,'voc/d15');
addindexplayfile(channelno,'voc/d5');
addindexplayfile(channelno,'voc/d6');
addindexplayfile(channelno,'voc/bank.008');
channel[channelno].Step:=9;
end;
 
okgxsh:
您好!
我知道此过程,但要让录好的语音文件,按照输入的号码发音,我不知怎么写?
 
你必须要有声音文件啊!
//将输入码转换成声音文件播放
procedure tfrmmain.PlayDTMF1_state;
var bolResult : Boolean;
K : Integer;
begin

try
RsetIndexPlayFile (intNowChannel);
//初始化多文件的放音,每开始一个新的多文件放音前调用此函数

If AddIndexPlayFile(intNowChannel, pchar(strVoicePath +'CHECK')) then

grid1.Cells[5,intNowChannel + 1 ] := ''
else

grid1.Cells[5,intNowChannel + 1 ] := '装载核对声音出错' ;
//记录接收的DTMF键值信息,自动保存接受的值
For K := 1 To 16do

bolResult := AddIndexPlayFile(intNowChannel, pchar(strVoicePath +
copy(arrDTMF[intNowChannel], K, 1))) ;

//赋值到变量
Str_DTMF := '';
Str_DTMF := arrDTMF[intNowChannel];

If AddIndexPlayFile(intNowChannel, pchar(strVoicePath +'confirm')) then

grid1.Cells[5,intNowChannel + 1 ] := ''
else

grid1.Cells[5,intNowChannel + 1 ] := '装载核对声音出错';

grid1.Cells[2,intNowChannel + 1 ] := '播放输入号码' ;
StartIndexPlayFile (intNowChannel);
//开始一个多文件放音
StartTimer( intNowChannel, 5 );
arrOperateState[intNowChannel] := ZD_AcceptConfirmPlay;
except
writelog( '播放输入号码时' +
inttostr(intNowChannel) +'通道出错!');
arrOperateState[intNowChannel] := ZD_SayBye ;
end;

end;

有问题联系我:zd_plb@163.com
 
中鼎:谢谢您,我试一下,再跟你联系.
 
论坛的热心朋友真得很多.
 
请高手帮助!!!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部