資源簡介
主要實現東進語音卡的撥號功能,可以撥號,接聽并對話.最多可以同時進行4個電話撥出
代碼片段和文件信息
#include?“CallMgr.h“
#include?
#include?“tce1_32.h“
CallMgr::CallMgr()
{
m_bHaveLoadDriver?=?false;
m_nTotalTrunk?=?0;
m_nTotalUser?=?0;
}
CallMgr::~CallMgr()
{
}
bool?CallMgr::InitSystem(?void?)
{
//加載板卡,初始化板卡
int?nCardNum?=?DJSys_EnableCard(?““?“PROMPT.INI“?); //初始化東進中繼語音卡的硬件
if?(?nCardNum?!=?0?)
{
printf(“Load?Drive?Faile!\n“);
return?false;
}
m_nTotalTrunk?=?DJTrk_GetTotalTrunkNum(); //獲取系統內中繼通道總數
m_nTotalUser?=?DJUser_GetTotalUserNum(); //獲取用戶通道總數
m_pTrunk?=?new?TRUNK_STRUCT[m_nTotalTrunk];
m_pUser?=?new?USER_STRUCT[m_nTotalUser];
if(?!m_pTrunk?||?!m_pUser?)
{
DJSys_DisableCard(); //退出系統,釋放硬件
printf(“Memory?alloc?error!\n“);
return?false;
}
for(nCardNum?=?0;?nCardNum? {
DJTrk_SetTrunkType(nCardNum?Type_Export?); //設置通道類型
m_pTrunk[nCardNum].ConnectUser?=?-1?;
m_pTrunk[nCardNum].ConnectTrk?=?-1?;
m_pTrunk[nCardNum].State?=?TRK_FREE?;
m_pTrunk[nCardNum].icount?=?0;
}
for(nCardNum?=?0;?nCardNum? {
int?nType?=?DJUser_CheckChType(nCardNum); //獲取模擬通道類型
if?(?nType?==?CHTYPE_USER?)
DJUser_SetPowerON(nCardNum); //對用戶模塊饋電
else
DJUser_SetPowerOFF(nCardNum); //對于用戶模塊停止饋電
if?(?!?DJUser_EnableDialSound(nCardNum)?) //允許用戶通道在摘機時自動送撥號音
{
DJSys_DisableCard(); //退出系統,釋放硬件
printf(“Init?UserBoard?Error!\n“);
exit(?2?);
}
m_pUser[nCardNum].ConnectTrk?=?-1;
m_pUser[nCardNum].ConnectUser?=?-1;
m_pUser[nCardNum].State?=?USR_ONHOOK;
}
//VocChannel[VOCBUSYCH]?=?DJVoc_SearchFreeVoiceChannelForPlay()?;
m_nVocChannel[VOCBUSYCH]?=?DJVoc_SFVC_ForPlay_New(0?false);//返回一個空閑的用于放音的語音通道(新)
DJVoc_LoopPlayPromptFile(?m_nVocChannel[VOCBUSYCH]?“BUSY“?)?;//對給定的語音通道循環播放系統提示音
//VocChannel[VOCRINGCH]?=?DJVoc_SearchFreeVoiceChannelForPlay()?;
m_nVocChannel[VOCRINGCH]?=?DJVoc_SFVC_ForPlay_New(0?false);//返回一個空閑的用于放音的語音通道(新)
DJVoc_LoopPlayPromptFile(?m_nVocChannel[VOCRINGCH]?“RING“?)?;//對給定的語音通道循環播放系統提示音
//VocChannel[VOCTONECH]?=?DJVoc_SearchFreeVoiceChannelForPlay()?;
m_nVocChannel[VOCTONECH]?=?DJVoc_SFVC_ForPlay_New(0?false);
DJVoc_LoopPlayPromptFile(?m_nVocChannel[VOCTONECH]?“TONE“?)?;//對給定的語音通道循環播放系統提示音
m_DialData.DialLen=5;
strcpy(m_DialData.CallerNum“99999“);
return?true;
}
void?CallMgr::ExitSystem(?void?)
{
DJSys_DisableCard()?;//退出系統,釋放硬件
SafeDeleteArray(m_pTrunk);
SafeDeleteArray(m_pUser);
m_bHaveLoadDriver?=?false;
}
void?CallMgr::CallOut(?char*?code?)
{
int?tmpval?=?GetDialTrunkId()?; //get?a?free?trunk?for?callout
if(?tmpval?==?-1?)?
{
//cannot?find?free?trunk?channel
printf(“找不到空閑的呼出通道\n“);
return;
}
else?
{
DJTrk_StartDial(?tmpval?code?m_DialData.CallerNum?)?;//開始呼出
m_pTrunk[tmpval].State?=?TRK_CALLOUT?;
}
}
int?CallMgr::GetDialTrunkId(?void?)
{
static?int?CurrentTrunkNo?=?0?;
int?i?=?0;
for(?i?=?CurrentTrunkNo?;?i? {
if(?DJTr
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????906??2015-08-15?20:36??TelephoneCall.sln
?????文件???????1165??2015-08-23?23:03??Debug\Config.conf
?????文件???????3294??2001-07-10?09:13??Debug\fsk_mix.lib
?????文件??????????4??2015-09-01?19:01??Debug\macrun.dll
?????文件?????743248??2010-03-18?09:15??Debug\msvcp100d.dll
?????文件????1498960??2010-03-18?09:15??Debug\msvcr100d.dll
?????文件???????4100??2011-12-08?16:10??Debug\NewSig.lib
?????文件??????70200??2014-09-08?23:06??Debug\tbb.lib
?????文件????1461248??2014-09-08?23:06??Debug\tbb.pdb
?????文件??????40960??2014-09-08?23:06??Debug\tbbmalloc_debug.dll
?????文件???????2509??2014-09-08?23:06??Debug\tbbmalloc_debug.exp
?????文件???????4772??2014-09-08?23:06??Debug\tbbmalloc_debug.lib
?????文件??????41001??2014-09-08?23:06??Debug\tbbmalloc_debug.map
?????文件?????404480??2014-09-08?23:06??Debug\tbbmalloc_debug.pdb
?????文件?????218624??2014-09-08?23:06??Debug\tbb_debug.dll
?????文件?????215811??2014-09-08?23:06??Debug\tbb_debug.map
?????文件??????74368??2011-12-08?16:10??Debug\Tc08a32.lib
?????文件??????82048??2001-05-18?14:17??Debug\Tce1_32.lib
?????文件????1209856??2015-09-01?19:46??Debug\TelephoneCall.exe
?????文件????6338744??2015-09-01?19:46??Debug\TelephoneCall.ilk
?????文件???12094464??2015-09-01?19:46??Debug\TelephoneCall.pdb
?????文件???????3605??2015-08-16?15:32??TelephoneCall\CallMgr.cpp
?????文件????????876??2015-08-16?07:03??TelephoneCall\CallMgr.h
?????文件???????1556??2015-08-18?16:33??TelephoneCall\CallStruct.h
?????文件??????????0??2015-08-18?17:05??TelephoneCall\Char.log
?????文件???????1165??2015-08-23?23:03??TelephoneCall\Config.conf
?????文件??????????0??2015-08-18?17:05??TelephoneCall\DBErrors.log
?????文件????2348587??2015-08-19?21:29??TelephoneCall\Debug\AsioServer.obj
?????文件????2544546??2015-08-19?21:29??TelephoneCall\Debug\AsioSession.obj
?????文件??????57281??2015-08-17?17:29??TelephoneCall\Debug\CallMgr.obj
............此處省略691個文件信息
- 上一篇:CELite 6.10
- 下一篇:STM32_MPU6050_dmp
評論
共有 條評論