⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tma4drv.h

📁 包括语音识别和数字TTS 设置语音识别内容的列表
💻 H
📖 第 1 页 / 共 5 页
字号:
//		 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 + -