📄 电信168录音函数.sc
字号:
//**********************录音字函数(函数内部流程可根据需求修改***************************************
//主流程中能外部变量的定义 及调用过程
//#declare SR SR_REC_01
//#declare SR SR_REC_02
//#declare SR SR_REC_MAIN
//#declare SR SR_PLAY_TEMP
// [Assign SR_REC_01, "dd59.VOX"] //设置录音函数提示音参数--语音内容:确认请按1,重听请按2,重录请按3
// [Assign SR_REC_02, "dd511.VOX"] //设置录音函数提示音参数--语音内容:确认请按1,重录请按3
// [Assign SR_REC_MAIN,"dd58.VOX"] //调用录音子函数,语音内容:请您在嘟的一声后留言......
// [CALLFUNC &FN_RECORDMESSAGE]
// RETURNED(0) -> ST_KEY5_WRITE_PERDIALTASK //录音完毕,记录键值后,返回总提示语
// RETURNED -> ST_KEY5_WRITE_PERDIALTASK
//****************************************************************************************************
// 入口参数:SR9,为录音提示语音文件名(包含路径)
// SR8是录音存放文件夹
// SR_REC_01 录音函数提示音
// SR_REC_02 录音函数提示音
// 出口参数:SR_REC_FILE,为带完整路径的录音文件名,
// SR15是(时间_主叫)格式的无扩展名的语音文件
//****************************************************************************************************
FN_RECORDMESSAGE //录音子函数
{
:stWait
[ SetDTMF "#" ]
[ ClearDTMF ]
[ Assign SR_PLAY_TEMP,@VOXPATH ]
[ StrCat SR_PLAY_TEMP, SR_REC_MAIN ]
[ PlayFile SR_PLAY_TEMP ] //请在"嘟"的一声后录制您的录音,结束请按#号键
STOPPLAYBACK -> STPLAYDU
DialTerminate -> STPLAYDU
FAILED ->stExit
:STPLAYDU
[SETRECINIT 1] //发嘟的一声
-> STRECORDPATH
:STRECORDPATH
[ Assign SR11,".\Record"]
[ StrCat SR11,SR8]
[ StrCat SR11,"\"]
[ NOWTIME ]
[ StrSub SR0,1.8 ]
[ StrCat SR11,SR0 ]
[ StrCat SR11,"\"]
[ NOWTIME ]
[ Assign SR10,SR0 ]
[ StrSub SR10,5,12 ]
[ Assign SR15,SR0 ]
[ StrCat SR15,"_" ]
[ StrCat SR15,$CALLERID ]
[ StrCat SR11,SR15 ]
[ StrCat SR11,".VOX"]
-> STRECORDFILE //串出你要录音的文件名和路径,注意:如果是放在某个文件夹下,这个文件夹必须先手动建立。
:STRECORDFILE
[ ClearDTMF ]
[ SetDTMF "#" ]
[SETMAXSIL 60] //最大静音时长
[RECORDFILE SR11,1800,0] //带路径录音文件名称
RECORD-> STIFRECORDFILEOK
DialTerminate -> STIFRECORDFILEOK
TIMEOUT-> STIFRECORDFILEOK
FAILED-> stExit
//-------------------------判断录音是否满意----------------------------------//
:STIFRECORDFILEOK
[ Assign IR_REPLAYTIMES,0 ]
->STIFRECORDFILEOK_1
:STIFRECORDFILEOK_1
[GREAT IR_REPLAYTIMES,3]
PASSED ->stExit
FAILED ->STIFRECORDFILEOK_2
[INC IR_REPLAYTIMES]
:STIFRECORDFILEOK_2
[ClearDTMF]
[ SetDTMF "123"]
[ Assign SR_PLAY_TEMP,@VOXPATH ]
[ StrCat SR_PLAY_TEMP, SR_REC_01]
[PlayFile SR_TEMP] //确认请按1,重听请按2,重录请按3
STOPPLAYBACK -> STINPUTOKCHOOSE
DialTerminate -> STINPUTOKCHOOSE
FAILED -> stExit
:STINPUTOKCHOOSE
[DIGIT 5]
STOPDIGITS('1') -> stExit //确认
STOPDIGITS('2') -> STPLAYRECORDFILE //重听
STOPDIGITS('3') -> STDELETERECORFILE //重录
STOPDIGITS -> STIFRECORDFILEOK_1
TIMEOUT -> STIFRECORDFILEOK_1
FAILED->STIFRECORDFILEOK_1
:STPLAYRECORDOK
[ Assign IR_REPLAYTIMES,0 ]
->STPLAYRECORDOK_1
:STPLAYRECORDOK_1
[GREAT IR_REPLAYTIMES,3]
PASSED ->stExit
FAILED ->STPLAYRECORDOK_2
[INC IR_REPLAYTIMES]
:STPLAYRECORDOK_2
[ClearDTMF]
[SetDTMF "13"]
[ Assign SR_PLAY_TEMP,@VOXPATH ]
[ StrCat SR_PLAY_TEMP, SR_REC_02]
[PlayFile SR_TEMP] //确认请按1,重录请按3
STOPPLAYBACK -> STPLAYRECORDYN
DialTerminate -> STPLAYRECORDYN
FAILED -> stExit
:STPLAYRECORDYN
[Assign SR_REC_FILE, SR11] //保存包含路径的留言文件名,准备返回
[DIGIT 5]
StopDigits('1') -> stExit //确认
StopDigits('3') -> STDELETERECORFILE
STOPDIGITS -> STPLAYRECORDOK_1 //重录
TimeOut -> STPLAYRECORDOK_1
Failed->STPLAYRECORDOK_1
:STPLAYRECORDFILE
[ClearDTMF]
[SetDTMF "?"]
[PlayFile SR11] //录音重放
STOPPLAYBACK -> STPLAYRECORDOK
DialTerminate -> STPLAYRECORDOK
FAILED -> stExit
:STDELETERECORFILE
[ ERASEFILE SR11 ]
->stWait
:stExit
[Assign FLAG,1]
[RETURN 0]
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -