📄 shpa3api.cs
字号:
//放音
E_PROC_PlayEnd, //0x000F //放音任务结束
E_PROC_PlayFile, //0x0010 //文件放音进程指示
E_PROC_PlayFileList,//0x0011 //文件列表放音进程指示
E_PROC_PlayMem, //0x0012 //内存放音进程指示
//录音
E_PROC_RecordEnd, //0x0013 //录音任务结束
E_PROC_RecordFile, //0x0014 //文件录音任务进展指示
E_PROC_RecordMem, //0x0015 //内存录音任务进展指示
//FSK发送
E_PROC_SendFSK, //0x0016 //发送FSK任务结束事件
//FSK接收
E_PROC_RcvFSK, //0x0017 //RcvFSK任务结束
//呼叫控制
E_CHG_ChState, //0x0018 //通道状态发生变化
E_PROC_AutoDial, //0x0019 //AutoDial任务有进展
E_CHG_RemoteChBlock,//0x001A
E_CHG_RemotePCMBlock,//0x001B
E_SYS_ActualPickup, //0x001C //外线通道实际摘机
E_CHG_RingFlag, //0x001D //铃流电平变化
E_CHG_RingCount, //0x001E //振铃计数变化
E_CHG_CIDExBuf, //0x001F //CID扩展接收缓冲区变化
E_CHG_RxPhoNumBuf, //0x0020 //被叫号码接收缓冲区变化
E_CHG_PolarRvrsCount,//0x0021 //外线通道极性反转
E_SYS_RemotePickup, //0x0022 //模拟电话线相对能量算法检测被叫摘机
//座席
E_CHG_FlashCount, //0x0023 //flash计数发生变化
E_CHG_HookState, //0x0024 //Hook状态发生变化
//信号音检测
E_CHG_ToneAnalyze, //0x0025 //信号音分析结果变化事件
E_OverallEnergy, //0x0026
E_CHG_OvrlEnrgLevel,//0x0027 //全频能量标识输出事件
E_CHG_BusyTone, //0x0028 //忙音计数变化事件
E_CHG_BusyToneEx, //0x0029 //松散忙音变化
E_CHG_VocFxFlag, //0x002A //单音频信号音电平变化
E_CHG_ToneValue, //0x002B //信号音电平变化
E_CHG_RingEchoToneTime, //0x002C
E_CHG_PeakFrq, //0x002D //PeakFrq有变化
E_SYS_BargeIn, //0x002E //检测到BargeIn
E_SYS_NoSound, //0x002F //检测到NoSound
//定时器
E_SYS_TIMEOUT, //0x0030 //定时器事件
//信令监控
E_CHG_SpyState, //0x0031 //被监控电路的接续状态通知事件
E_CHG_SpyLinkStatus,//0x0032 //被监控的PCM链路状态通知事件
//数字电话录音卡
E_RCV_DTR_AUDIO, //0x0033 //语音通道开关事件
E_RCV_DTR_HOOK, //0x0034 //摘挂机事件
E_RCV_DTR_LAMP, //0x0035 //灯状态变化事件
E_RCV_DTR_FKEY, //0x0036 //Function Key 事件
E_RCV_DTR_DKEY, //0x0037 //Dial Key 事件
E_RCV_DTR_VOX, //0x0038 //VOX开关事件
E_RCV_DTR_DISPLAY, //0x0039 //显示事件
E_RCV_DTR_DIRECTION,//0x003a //呼叫方向事件
E_RCV_DTR_RING, //0x003b //振铃事件
};
[StructLayout(LayoutKind.Sequential)] public struct MESSAGE_INFO
{
public ushort wEventCode;
public int nReference;
public uint dwParam; //输出参数
}
[StructLayout(LayoutKind.Sequential)]public struct EVENT_SET_INFO
{
public uint dwWorkMode;
public IntPtr lpHandlerParam;
public uint dwOutCondition;
public uint dwOutParamVal;
public uint dwUser;
}
[StructLayout(LayoutKind.Sequential)] public struct FAX_FILE_SCT
{
public string szFileName; //no more than 256
public int nStartPage;
public int nEndPage;
public int nReserve1;
public int nReserve2;
}
public enum TimerType
{
TIMER_ONE,
TIMER_PERIODIC
};
public enum EventMode
{
NO_EVENT, // 无事件方式
EVENT_POLLING, //事件轮询
EVENT_CALLBACK, //事件回调
EVENT_MESSAGE //windows消息
};
//文件放音进程指示输出参数类型.
public enum PlayFileProc
{
PLAYPERCENT,
PLAYTIME,
DATABYTESPLAYED,
DATABYTESTOPLAY
};
//内存录放音进程指示输出参数类型.
public enum PlayMemProc
{
END_HALF_BUFFER,
END_BUFFER,
MEM_OFFSET,
MEM_BYTES,
};
//文件录音进程指示输出参数类型.
public enum RecFileProc
{
RECORD_TIME,
RECORD_BYTES
};
//ISUP用户部分参数常量定义,函数SsmSetIsupFlag中nType类型
public enum IsupSetFlag
{
ISUP_CallerParam = 1,//主叫号码参数
ISUP_PhoNumParam = 2,//被叫号码参数
ISUP_PhoNumREL = 3,//带号码改发信息的REL
ISUP_REL_DENY_SetToOther = 100,//呼叫被拒设置为其它情况
};
public enum TupProc
{
Tup_ANX = 1,//呼叫:C_TUP_ANU, C_TUP_ANC, C_TUP_ANN
};
public delegate void RXDTMFHANDLER(int ch, char cDtmf, int nDTStatus, IntPtr pV);
public delegate bool RECORDMEMBLOCKHANDLER(int ch, int nEndReason, ref byte pucBuf, uint dwStopOffset, IntPtr pV);
public delegate bool PLAYMEMBLOCKHANDLER(int ch, int nEndReason, ref byte pucBuf, uint dwStopOffset, IntPtr pV);
public delegate void LPRECTOMEM(int ch, ref byte lpData, uint dwDataLen);
public delegate void LPRECTOMEMB(int ch, ref byte lpData, uint dwDataLen, IntPtr pV);
public delegate int LPFNEVENTCALLBACK(ushort wEvent, int nReference, uint dwParam, uint dwUser);
public class SsmApi
{
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@ INITIALIZATION OPERATION @@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[DllImport("SHP_A3.dll")]public static extern int SsmStartCti(string lpSsmCfgFileName, string lpIndexCfgFileName);
[DllImport("SHP_A3.dll")]public static extern int SsmCloseCti();
[DllImport("SHP_A3.dll")]public static extern void SsmGetLastErrMsg(StringBuilder szErrMsgBuf);
[DllImport("SHP_A3.dll")]public static extern string SsmGetLastErrMsgA();
[DllImport("SHP_A3.dll")]public static extern int SsmGetLastErrCode();
[DllImport("SHP_A3.dll")]public static extern int SsmGetMaxUsableBoard();
[DllImport("SHP_A3.dll")]public static extern int SsmGetMaxCfgBoard();
[DllImport("SHP_A3.dll")]public static extern int SsmGetRxDtmfBufSize();
[DllImport("SHP_A3.dll")]public static extern int SsmGetAccreditId(int nBId);
[DllImport("SHP_A3.dll")]public static extern int SsmGetMaxCh();
[DllImport("SHP_A3.dll")]public static extern int SsmGetChType(int ch);
[DllImport("SHP_A3.dll")]public static extern int SsmSetMaxIdxSeg(ushort wMaxIdxSeg);
[DllImport("SHP_A3.dll")]public static extern int SsmLoadIndexData(int nSegNo, string pAlias, int nCodec, string pVocFile, int lStartPos, int lLen);
[DllImport("SHP_A3.dll")]public static extern int SsmFreeIndexData(int nSegNo);
[DllImport("SHP_A3.dll")]public static extern int SsmGetTotalIndexSeg();
[DllImport("SHP_A3.dll")]public static extern int SsmPauseCard();
[DllImport("SHP_A3.dll")]public static extern int SsmRestartCard();
[DllImport("SHP_A3.dll")]public static extern int SsmGetAccreditIdEx(int nBId);
[DllImport("SHP_A3.dll")]public static extern int SsmGetBoardModel(int nBId);
[DllImport("SHP_A3.dll")]public static extern void SsmSetDV(bool bEnable);
[DllImport("SHP_A3.dll")]public static extern bool SsmGetDV();
[DllImport("SHP_A3.dll")]public static extern uint SsmGetPciSerialNo(int nBId);
[DllImport("SHP_A3.dll")]public static extern uint SsmGetIntCount();
[DllImport("SHP_A3.dll")]public static extern int SsmSetListenMode(int nMode);
[DllImport("SHP_A3.dll")]public static extern int SsmStartBoard(int nBId);
[DllImport("SHP_A3.dll")]public static extern int SsmStopBoard(int nBId);
[DllImport("SHP_A3.dll")]public static extern int SsmGetChHdInfo(int ch, ref int pnBId, ref int pnBCh);
[DllImport("SHP_A3.dll")]public static extern int SsmGetAppChId(ref int AppchId, int BrdId, int BrdChId);
[DllImport("SHP_A3.dll")]public static extern int SsmSetChState(int ch, int nState);
[DllImport("SHP_A3.dll")]public static extern int StartTimer(int ch, ushort ClockType);
[DllImport("SHP_A3.dll")]public static extern uint ElapseTime(int ch, ushort ClockType);
[DllImport("SHP_A3.dll")]public static extern int SsmSetLogOutput(int nAPIDbg, int nEventStart, int nEventEnd, int nChStart, int nChEnd, uint dwReserve);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ PLAY OPERATION @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[DllImport("SHP_A3.dll")]public static extern int SsmSetPlayVolume(int ch, int nVolume);
[DllImport("SHP_A3.dll")]public static extern int SsmSetDtmfStopPlay(int ch, bool bDspf);
[DllImport("SHP_A3.dll")]public static extern int SsmGetDtmfStopPlayFlag(int ch);
[DllImport("SHP_A3.dll")]public static extern int SsmSetBargeinStopPlay(int ch, bool bBispf);
[DllImport("SHP_A3.dll")]public static extern int SsmGetBargeinStopPlayFlag(int ch);
[DllImport("SHP_A3.dll")]public static extern int SsmStopPlay(int ch);
[DllImport("SHP_A3.dll")]public static extern int SsmPlayFile(int ch, string pszFileName, int nFormat, uint dwStartPos, uint dwLen);
[DllImport("SHP_A3.dll")]public static extern int SsmStopPlayFile(int ch);
[DllImport("SHP_A3.dll")]public static extern int SsmPausePlay(int ch);
[DllImport("SHP_A3.dll")]public static extern int SsmRestartPlay(int ch);
[DllImport("SHP_A3.dll")]public static extern int SsmFastFwdPlay(int ch);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -