📄 tma4drv.h
字号:
// FilePath: 文件录音
// lSeek: 0表示新建一个文件录音,1表示打开存在的文件,从最后继续追加录音
// lMaxNum: 保留。和输入任意值
//
// Return:
// -1: 录音失败
// 其它: 返回设备播放的通道ID,用来停止,等操作
//
// Notes: 把当前设备采集到的数据保存到指定的文件中
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_StartRecordFile (char *FilePath, long lSeek, long lMaxNum);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_SetRecordFileFormate
//
// Description: 设置录音文件格式
//
// Inputs:
// WF_LINE 线性的wave格式.8k,16bit,单声道
// WF_ALAW A率的格式。
// WF_729B 使用729B压缩达到:1k/s,压缩后的文件不能被windows播放器播放
// Return:
// true:成功
// false:失败
//
// Notes: 设置的录音格式不影响当前正在录音的文件,有下一次启动文件录音时开始有效
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_SetRecordFileFormate(long iFormate);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_GetRecordFileFormate
//
// Description: 得到录音文件格式
//
// Inputs: 无
//
// Return:
// WF_LINE 线性的wave格式.8k,16bit,单声道
// WF_ALAW A率的格式。
// WF_729B 使用729B压缩达到:1k/s,压缩后的文件不能被windows播放器播放
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_GetRecordFileFormate();
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_SetRecordDataFormat
//
// Description: 设置录音回调数据的格式。默认为1024,8位的ALAW格式
// 此设置同时有效于TI_RECORDBUF_MESSAGE接受到的数据
//
// Inputs:
// lDevID: 保留,
// Return:
//
// Notes:
// 具体格式的使用方法可参数windows的PCM编码格式
//
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_SetRecordDataFormat(TMWAVEFORMATEX *pFormat,long lDevID);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_PauseRecordFile
//
// Description: 暂停录文件
//
// Inputs:
// lDevID TV_StartRecordFile返回的ID
//
// Return:
// false:失败
// true:成功
// Notes:
// 暂停文件录音
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_PauseRecordFile(long lDevID);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_ResumeRecordFile
//
// Description: 恢复录文件
//
// Inputs:
//
// lDevID TV_StartRecordFile返回的ID
//
// Return:
//
// false:失败
// true:成功
//
// Notes:
//
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_ResumeRecordFile(long lDevID);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_StopRecordFile
//
// Description: 停止文件录音
//
// Inputs:
// DevID TV_StartRecordFile返回的ID(如果ID为16进制0xFFFE就停止全部)
// bClearBusy 是否过滤录音文件最后的忙音
// 如果是因为忙音自动停止录音就可以使用此来过滤
// (如使用留言的时候肯定会有测到忙音才挂机,所有会有忙音信号被录入)
//
// Return: 保留
//
// Notes:
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_StopRecordFile (long lDevID,BOOL bClearBusy);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_GetRecFilePath
//
// Description: 取得正在录音的文件路径
//
// Inputs:
// FilePath:保存路径的字符指针地址。
// 分配足够的内存长度,最大长度为MAX_PATH.
//
// Return:
// TRUE:取得路径成功,路径保存在FilePath
// FALSE:取得路径失败。可能是已经不在录音,或者录音文件路径为空
// Notes:
// 录音停止后,不能再取得录音文件路径
//
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_GetRecFilePath(char *FilePath,long lDevID);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_EnableEchoCanceller
//
// Description: 打开/关闭回音抵消功能
//
// Inputs:
// bEnable:TRUE 打开回音抵消模块
// bEnable:FALSE 关闭回音抵消模块
// Return:
//
// Notes:
// 只需要在设置TV_SetRecSource为RS_MIC并且电话机摘着放音时
// 才有必要打开此功能。如使用电话打IP电话时。建议平时不要打开,节省电脑资源
// 抵消本地电话机产生的回音,避免对方听到自己的说话音。
// 不能抵消对方设备产生的回音,如:使用在网络电话时本地听到自己的说话。(对方用音响产生的回音)
//
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_EnableEchoCanceller(BOOL bEnable);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_EnableReceiveRemoteDTMF
//
// Description: 设置接收对方按键状态,这样不会漏掉对方按键声音轻的DTMF
//
// Inputs:
// TRUE: 启动接收对方按键,必须跟TV_EnableEchoCanceller配合使用.
// FALSE: 启动接收对方按键
// Return:
//
// Notes:
// 当需要接收对方按键时,(如:应用在语音答录时),建议启动。
// 要准确接收对方按键,调用步骤/方法:
// 如:
// CallIn....来电时.
// 1.TV_OffHookCtrl();摘机连通
// 2.TV_SetRecSource(RS_SPK);设置录音方式为电话线上录音。RS_SPK为一个数值,不是字符,可参考A4Drv.h中找到。
// 3.TV_EnableEchoCanceller(TRUE);//启动回音抵消,避免本地向对方播放提示音时干扰对方的按键
// 4.TV_EnableReceiveRemoteDTMF(TRUE);//设置为接收对方按键模式
//
// 如果有不能接收到对方按键现象,请调整TV_SetDTMFParam中的参数。
// TV_SetDTMFParam(2,2,0.1,3);//如,降低第一个和最后一个参数值。
// 说明:打开该功能,如果在通话中本地按键,还是可以接收到DTMF
//
// 注意:打开该功能后回音抵消时系统自动保留部分回音,所以再不需要接收对方按键时停止该功能,建议在TV_HangUpCtrl()后关闭。
//
///////////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_EnableReceiveRemoteDTMF(BOOL bEnable);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_RegRecordCallBack
//
// Description: 注册录音回调函数,使用这种方式采集录音数据要比接受录音消息的时时性要好。
//
// Inputs:
//
// Return:
//
// Notes: 建议在语音数据时时性高的地方(如用在网络传输语音)使用此函数,不建议使用注册接受录音数据消息
// 注册后自动被归纳到组ID号为1,这样可以使用TV_SetVolume来修改录音的音量
// 修改音量只对录音格式为默认的ALAW有效
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_RegRecordCallBack(void *pParam,CallBack_Record RecordFunc);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_RegRecordCallBack2
//
// Description: 注册录音回调函数.使用这种方式采集录音数据要比接受录音消息的时时性要好。
//
// DATE: 2004/12/14
//
// Inputs:
//
// Return:
//
// Notes:
// 建议在语音数据时时性高的地方(如用在网络传输语音)使用此函数,不建议使用注册接受录音数据消息
// 用结构方式回调数据
// 建议DELPHI语言使用此回调
// 注册后自动被归纳到组ID号为2,这样可以使用TV_SetVolume来修改录音的音量
// 修改音量只对录音格式为默认的ALAW有效
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_RegRecordCallBack2(void *pParam,CallBack_Record2 RecordFunc);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_UnRegRecordCallBack
//
// Description: 删除录音回调函数
//
// Inputs: 无
//
// Return: 无
//
// Notes:
//
//
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_UnRegRecordCallBack();
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_RegRecBufWnd
//
// Description: 注册接受录音数据的窗口
//
// Inputs:
// hWnd: 窗口句柄
//
// Return:
// TRUE: 注册成功
// FALSE: 注册失败
// Notes:
// 在关闭设备(调用TV_Disable)前确认所有注册的窗口都已经被反注册)
// 或保证注册的窗口还没被销毁
//
// 如果您在关闭设备前没有反注册窗口而把应用程序的窗口给销毁了,会引起不正常关闭设备
//
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_RegRecBufWnd(HWND hWnd);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_UnRegRecBufWnd
//
// Description: 反注册接受录音数据的窗口
//
// Inputs:
// hWnd: 窗口句柄
//
// Return:
// TRUE: 反注册成功
// FALSE: 反注册失败,没有注册过此窗口
// Notes:
//
//
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_UnRegRecBufWnd(HWND hWnd);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_StartSoundRecordFile
//
// Description: 开始文件录音
//
// Date: 2005/04/29
//
// Inputs:
// FilePath: 文件录音
// bMix: 是否跟本地录音数据混合
// lSeek: 0表示新建一个文件录音,1表示打开存在的文件,从最后继续追加录音
// lMaxNum: 保留。和输入任意值
//
// Return:
// -1: 录音失败
// 其它: 成功
//
// Notes: 把当前从声卡过来的数据保存到指定的文件中
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_StartSoundRecordFile (char *FilePath,BOOL bMix,long lSeek, long lMaxNum);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_StartSoundRecordFile
//
// Date: 2005/04/29
//
// Description: 停止声卡数据录音
//
// Date: 2005/04/29
//
// Inputs: 无
//
// Return:
// 0: 停止失败
// 其它: 成功
//
// Notes: 停止从声卡数据录音
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_StopSoundRecordFile ();
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_PauseSoundRecordFile
//
// Date: 2005/04/29
//
// Description: 暂停声卡文件录音
//
// Inputs: 无
//
// Return:
// false:失败
// true:成功
// Notes:
// 暂停声卡数据录音
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_PauseSoundRecordFile();
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_ResumeSoundRecordFile
//
// Date: 2005/04/29
//
// Description: 恢复声卡文件录音
//
// Inputs: 无
//
// Return:
// false:失败
// true:成功
// Notes:
// 恢复声卡数据录音
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_ResumeSoundRecordFile();
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_IsSoundRecordFile
//
// Date: 2005/04/29
//
// Description: 是否在声卡录音
//
// Inputs: 无
//
// Return:
// FALSE: 声卡录音没有在进行
// TRUE: 声卡录音正在进行
// Notes:
//
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_IsSoundRecordFile();
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_GetSoundRecordFilePath
//
// Description: 取得正在声卡录音的文件路径
//
// Inputs:
// pOutBuf: 输出的BUF
// iLen: 分配的BUF的长度,BUF不够长就会返回失败
//
// Return:
// 1: pOutBuf保存输出的空间
// -1:取得路径失败。没有在录音
// -2:录音文件路径为空
// -3:分配的BUF不够大
// Notes:
// 录音停止后,不能再取得录音文件路径
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_GetSoundRecordFilePath(char *pOutBuf,long iLen);
/*************************************************************************/
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -