⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 电信168录音函数.sc

📁 一个中国电信IVR平台的开发手册
💻 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 + -