CTBCMCLeg类

一 :

Do not confuse a  call leg  with a  call .   A call leg represents one full-duplex link to a party whilea call represents the agglomeration of multiple (two or more) call legs.    For example, a bridge is a form of call that
  uses two call legs.

二:

 Do not confuse the base class  CTBCMCLeg with the class CTBCAFCallLeg. The later is a class used by the
 ITBCAFCallFlow interface when dealing with multiple legs.  It is designed to represent a leg within a call.  It cannot be instanciated as a standalone object.   Therefore, the above example used the CTBCMCLeg.

注 above example 指的是 make outgoing call

三 :  有各种不同的函数检查当前callleg的状态 , 例如  TBX_BOOL IsAccepted(); TBX_BOOL IsAlerted(); TBX_BOOL IsAnswered();

其中2个重要的函数是

	TBX_BOOL IsPlayingStream();

 和

TBX_BOOL IsRecordingStream();

 可以检查callleg当前是不是正在播放stream或者录音。

---------------

还有2个函数不解, 是  TBX_BOOL IsPlayingDigit();  和  TBX_BOOL IsPlayingEvent(); 

Digit怎么play ?

------

 virtual TBX_VOID OnLegEvent( PITBCMCLegEvent in_pEvent );  此函数用于处理用户事件

 virtual TBX_VOID OnStreamPlayingDone( TBCMC_IVR_REASON_CODE in_Reason );  当prompt播放完毕

 virtual TBX_VOID OnStreamRecordingDone( TBCMC_IVR_REASON_CODE in_Reason ); 当 录音结束 , 这里有个问题, 录音时并没有设置录音时间的选项,那么何时才结束录音?

 TBX_RESULT StopDigitCollection( PITBCMCErrorListener in_pErrorListener = NULL );   启动按键收集

 TBX_RESULT PlayEvent( CTBCMC_EVENT_ATTRIBUTE & in_Events, PITBCMCErrorListener in_pErrorListener = NULL );  播发一段tone在leg上

原文地址:https://www.cnblogs.com/lthxk-yl/p/4057060.html