📄 tma4drv.h
字号:
// iVolume:音量大小值 范围为(0-100)
//
// Return:
// 修改前的音量
//
//
// Notes:
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_SetPlayFileVolume(long iVolume);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_StartPlayBuf
//
// Description: 开始播放内存数据数据前调用此函数
//
// Inputs:
// pBuf:要播放的缓冲数据
// lSize:缓冲数据大小
// pParam:回调回去的参数。如果您想在回调时传入参数,请在这里指定。
// PlayFunc:缓冲有空闲时回调函数,通知用户可写入新数据
// bAutoReset:当所有数据播放完毕时是否自动释放设备句柄资源
//
// Return: 设备句柄ID
//
// Notes: 如果您要开始播放您的内存数据,请先调用此函数。否则不能准确播放
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_StartPlayBuf(char *pBuf,long lSize,void *pParam,CallBack_PlayMix PlayFunc,BOOL bAutoReset);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_StopPlayBuf
//
// Description: 停止播放内存数据
//
// Inputs:
// lDevID:TV_StartPlayBuf返回的ID
//
// Return: 无
//
// Notes:
//
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_StopPlayBuf(long lDevID);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_ResetPlayBuf
//
// Description: 释放内存播放的设备句柄。
//
// Inputs:
// lDevID:TV_StartPlayBuf返回的ID
//
// Return: 无
//
// Notes: 在您放完数据后要调用此函数来释放句柄
// (如果在TV_StartPlayBuf没有指定自动释放就要调用)
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_ResetPlayBuf(long lDevID);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_InitPlay
//
// Description: 准备播放内存数据前调用初始化
//
// Inputs: 默认输入缓冲大小为8K
//
// Return:
// >=0:成功.返回设备句柄
// -1:失败
//
// Notes:
//
// 适合与8k/s语音数据播放,如:接受网络8K/s声音数据放入设备。
// 如果播放速度大于8k/s可能会使底层缓冲不够而丢失播放的数据
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_InitPlay();
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_InitPlayOfSize
//
// Description: 准备播放内存数据前调用初始化.同等于TV_InitPlay
// 只需要调用其中一个就可以
//
// Date: 2004/12/11
//
// Inputs:
// ulBufSize:使用的缓冲大小.
//
// Return:
// >=0:成功.返回设备句柄
// -1:失败
//
// Notes:
//
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_InitPlayOfSize(unsigned long ulBufSize);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_SetPlayFormat
//
// Description: 设置播放的语音数据格式,只能设置用在TV_InitPlay方式播放的语音
//
// Date: 2004/12/11
//
// Inputs:
// Format: 语音格式参数。可参考windows标准语音格式
// lDevID: TV_InitPlay返回ID
//
// Return:
// TRUE:成功
// FALSE:失败
//
// Notes:
//
// 请在TV_InitPlay后,TV_WritePlayBuf前设置语音格式具体格式的使用方法参考
// windows的声卡播放语音的方式。(系统mmsystem.h中有所有格式)
//
// 默认就为ALAW 8位8K的语音
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_SetPlayDataFormat(TMWAVEFORMATEX *pFormat,long lDevID);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_WritePlayBuf
//
// Description: 向设备中写入用来播放的内存数据
//
// Inputs:
// buf: 要播放的A_Law内存数据
// ibuflen: 内存数据的长度,不能超过1024
// lDevID: TV_InitPlay返回的句柄
//
// Return: 写入的数据状态
// 2:成功
// -1:表示失败.没有初始化.
// -2:缓冲数据太长
// -3:分配内存错误
// 0:表示缓冲满。过会再写
//
// Notes:
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_WritePlayBuf(char *buf,unsigned long ibuflen,long lDevID);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_UnInitPlay
//
// Description: 释放播放内存数据的资源
//
// Inputs:
// lDevID: TV_InitPlay返回的句柄
// Return:
//
// Notes:
//
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_UnInitPlay(long lDevID);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_SetVolume
//
// Last Modify: 2005/01/11
//
// Description: 设置播放声音的音量,范围为0-200,默认为100。
//
// Inputs:
// iLevel: 要设置的音量值(0-200)。
// iType: 低16位为设置音量的类型:
// VT_PLAYBUF 设置writeplaybuf的音量
// VT_PLAYFILE 播放文件的音量
// VT_MASTER 总体控制音量
// VT_PLAYAUDIO 声卡播放的音量
// VT_RECAUDIO 声卡录音的音量
// VT_GROUPPLAY 如果是该类型那iType的高16位就为要设置的组ID(如:组ID为1的播放音量0x00010000&VT_GROUPPLAY)
// VT_GROUPREC 如果是该类型那iType的高16位就为要设置的组ID(如:组ID为2的录音音量0x00020000&VT_GROUPREC)
// Return:
//
// Notes: 系统不会保存设置,重新启动程序后恢复为100。
//
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_SetVolume(long iLevel,long iType);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_GetVolume
//
// Description: 取得播放声音的音量
//
// Inputs: 音量的类型:
//
// Return: 音量范围(0-200)
//
// iType 音量的类型:
// VT_PLAYBUF WritePlayBuf的音量
// VT_PLAYFILE 播放文件的音量
// VT_MASTER 总体控制音量
// VT_PLAYAUDIO 声卡播放的音量
// VT_RECAUDIO 声卡录音的音量
// Notes:
//
//////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_GetVolume(long iType);
///////////////////////////////////////////////////////////////////////////////
//
// Function: TV_GetPlayDeviceState
//
// Date: 2004/12/14
//
// Description: 取的播放通道已经播放的状态
//
//
// Inputs:
// pDevPlayState:保存状态的结构地址
// lDevID: 播放的设备ID
// TV_StartPlayFile...TV_InitPlayOfSize...TV_InitPlay返回的句柄
//
// Return:
// FALSE:失败
// TRUE:成功
// Notes:
//
//
///////////////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_GetPlayDeviceState(DEV_PLAYSTATE *pDevPlayState,long lDevID);
///////////////////////////////////////////////////////////////////////////////
//
// Function: TV_GetRestBufferSize
//
// Date: 2005/08/22
//
// Description: 取的播放通道剩余的BUFFER长度
//
//
// Inputs:
// lDevID: 播放的设备ID
// TV_StartPlayFile...TV_InitPlayOfSize...TV_InitPlay返回的句柄
//
// Return: 剩余空闲的BUFFER长度
//
//
// Notes:
//
//
///////////////////////////////////////////////////////////////////////////////////
long TELMATEFUNC TV_GetRestBufferSize(long lDevID);
///////////////////////////////////////////////////////////////////////////////
//
// Function: TV_SetPlayStateCallBack
//
// Date: 2004/12/31
//
// Description: 设置取播放状态的回调函数
//
//
// Inputs:
// lDevID: 播放设备句柄.InitPlay、initPlayOfSize等返回的句柄
// pParam: 用户定义参数
// PlayFunc: 回调函数
//
// Return:
// FALSE:失败,不合法的句柄。
// TRUE:成功
// Notes:
//
//
///////////////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_SetPlayStateCallBack(long lDevID,void *pParam,CallBack_PlayMix PlayFunc);
///////////////////////////////////////////////////////////////////////////////
//
// Function: TV_SetPlayGroupID
//
// Date: 2006/01/02
//
// Description: 设置播放的ID的组号,播放时返回不同的ID可设为同一个组。
// 设置有就可以统一对该组的的播放ID进行音量设置
//
// Inputs:
// lDevID: 播放设备句柄.InitPlay、initPlayOfSize等返回的句柄
// shGroupID 用户自己输入的组ID号,如果为0就为取消所属的组.
//
// Return:
// FALSE:失败,不合法的句柄.
// TRUE:成功
// Notes:
//
//
///////////////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_SetPlayGroupID(long lDevID,SHORT shGroupID);
///////////////////////////////////////////////////////////////////////////////
//
// Function: TV_GetPlayGroupID
//
// Date: 2006/01/02
//
// Description: 得到播放的ID的组ID号
//
//
// Inputs:
// lDevID: 播放设备句柄.InitPlay、initPlayOfSize等返回的句柄
//
// Return: 返回所属的组ID号,如果为0就为没有设置所属的组,或者该设置句子柄不存在
//
// Notes:
//
//
///////////////////////////////////////////////////////////////////////////////////
SHORT TELMATEFUNC TV_GetPlayGroupID(long lDevID);
////////////////////////////////////////////////////////////////////////////////////
//
// Function: TV_IsSupportFileFmt
//
// Date: 2005/03/07
//
// Description: 检测是否被TV_StartPlayFile,和TV_StartPlayFileVol播放所支持的格式
//
// Inputs:
//
// Return:
// true: 支持
// false: 不支持
//
// Notes:
// 如果播放此不支持的格式,将按照默认的ALAW格式语音数据进行播放。
//
//////////////////////////////////////////////////////////////////////////
BOOL TELMATEFUNC TV_IsSupportFileFmt(char *pPath);
/*************************************************************************/
//
//
// 录音相关函数
//
//
/*************************************************************************/
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_SetRecSource
//
// Description: 设置录音数据源
//
// Inputs:
// RS_MIC 电话机话筒说话的数据。适合不通话时本地话筒录音
// RS_SPK 可用在通话、留言时录音,录线上的声音,使用前电脑摘机
// RS_DOID 其它时候都用此方式录音,录来自电话线上的声音,用来采集来电号码等。。
// RS_NULL 如果使用BRIDGE_A3,BRIDGE_A4,BRIDGE_B4的耳机单独录音时,设置为RS_NULL,同时打开TV_EnableMic(TRUE),关闭TV_EnableMicSpk(FALSE)
//
//
// Return: 无
//
// Notes:
// /*电脑摘机后必须打开DOID才能录到线上的声音,如:拨号音等。。*/
//
//////////////////////////////////////////////////////////////////////////
void TELMATEFUNC TV_SetRecSource(long iRecType);
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_GetRecSource
//
// Description: 取的最后设置的录音数据源
//
//
// Inputs: 无
//
// Return:
// RS_MIC 电话机话筒说话的数据。适合不通话时本地话筒录音
// RS_SPK 可用在通话、留言时录音,录线上的声音,使用前电脑摘机
// RS_DOID 其它时候都用此方式录音,录来自电话线上的声音,用来采集来电号码等。。
//
// Notes:
//
//////////////////////////////////////////////////////////////////////////
int TELMATEFUNC TV_GetRecSource();
//////////////////////////////////////////////////////////////////////////
//
// Function: TV_StartRecordFile
//
// Description: 开始文件录音
//
// Inputs:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -