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

📄 simpapi13.txt

📁 AVE1000S系列卡SDK&Driver
💻 TXT
📖 第 1 页 / 共 5 页
字号:
  返回: 成功返回TRUE.
  功能: 删除主区域.
//4.
  SAPI  BOOL  DLLCALL sapiDestorySubDispRgn(int MRgnID,int SRgnID);
  输入: MRgnID:主区域标识;SRgnID子区域标识。
  返回: 成功返回TRUE.
  功能: 删除主区域中的一个子区域.

//VChannelID:MAIN_VCH=0 ;SUB_VCH=1
//5.
  SAPI  int   DLLCALL sapiStartPreview(UINT CardID,UINT VChannelID,int MRgnID,int SRgnID,BOOL IsPal);
  输入: CardID:卡号0,1,2...,;VChannelID视频通道号:为MAIN_VCH(SS1,SS2,SD卡)或SUB_VCH(SD卡) MRgnID:主区域标识;
        SRgnID子区域标识。IsPal: 为TRUE,表示为PAL视频。为FALSE表示为NTSC视频.
  返回: 成功返回0.失败返回<0
  功能: 将卡CardID的VChannelID视频通道与主区域MRgnID的SRgnID子区域关联,并启动预览视频流。
        对非缓冲方式的子区域,立即启动显示。对缓冲方式的子区域,则启动到缓冲的捕获,但不
        显示。需调用sapiSetBufModeDisp显示.

//6.
  SAPI  BOOL  DLLCALL sapiStopPreview(int MRgnID,int SRgnID);
  输入: MRgnID:主区域标识;SRgnID子区域标识。
  返回: 成功返回TRUE.
  功能: 删除主区域中的一个子区域.
//7.
  SAPI  BOOL  DLLCALL sapiSetBufModeDisp(int MRgnID,int SRgnID,BOOL Visual);
  输入: MRgnID:主区域标识;SRgnID子区域标识;Visual:为TRUE启动BUF方式的显示,为
        FALSE,停止BUF方式的显示。 
  返回: 成功返回TRUE.
  功能: 改函数仅用于启动,停止一个缓冲方式的子区域的显示.对非缓冲方式的子区域
        不须用此函数。
//8.
  SAPI  BOOL  DLLCALL sapiSwitchMainAndSubVideoChannel(UINT CardID,BOOL IsPal);
  输入: CardID:卡号;IsPal: TRUE 为PAL视频,FALSE为NTSC视频。
  返回: 成功返回TRUE.
  功能: 改函数仅用于SD或SS2卡,交换卡的主,次视频通道。即主视频通道变为次视频通道。
        次视频通道,变为主视频通道。
//9.
  SAPI  BOOL  DLLCALL sapiRegisterFRAMEInt(UINT CardID,VOIDFRAMEINTCALLBACK pcallbackfun,void * pUser);
  输入: CardID:卡号;pcallbackfun 为用户帧中断处理函数(回调函数);pUser为用户自定义参数指针,在回调时
        传给用户。
  返回: 成功返回TRUE.
  功能: 当用户需要在某卡的帧中断(目前是主视频通道帧中断,次通道帧中断也用主通道帧中断)中
        处理时,可注册一个帧中断。每当帧中断发生时,系统就会调用中断函数。
  列如:void MyFrameInt(UINT CardID,void * pUsrParam)
       {
       }
       定义一个中断函数pcallbackfun为MyFrameInt。
//10.
  SAPI  BOOL  DLLCALL sapiUnRegisterFRAMEInt(UINT CardID);
  输入: CardID:卡号
  返回: 成功返回TRUE.
  功能: 去除已注册的帧中断函数。
//11.
  SAPI  BOOL  DLLCALL sapiPauseFRAMEInt(UINT CardID);
  输入: CardID:卡号
  返回: 成功返回TRUE.
  功能: 暂停对帧中断函数的回调。
//12.
  SAPI  BOOL  DLLCALL sapiResumeFRAMEInt(UINT CardID);
  输入: CardID:卡号
  返回: 成功返回TRUE.
  功能: 恢复对帧中断函数的回调。
//  SAPI  BOOL  DLLCALL sapiGetPreviewFrame(UINT CardID,UINT VChannelID,&buf,FrameAttrib * );
//13.
  SAPI  BOOL  DLLCALL sapiUpdateOverlay(int MRgnID,int SRgnID);
  输入: MRgnID:主区域标识;SRgnID子区域标识。
  返回: 成功返回TRUE.
  功能: 显示子区域清屏,或恢复OVERLAY色键。
        对OVERLAYBUF,或OVERLAYNOBUF显示区域,必须调用该函数对OVERLAY面下的主平面刷新,即
        填充OVERLAY色键,OVERLAY才可显示出来,否则看不到显示。
        该函数一般可放在WM_ERASEBKGND消息处理函数中调用如VC++的OnEraseBkgnd。
        每当窗口切换,窗口背景会被擦除,色键也会被擦除,必须调用该函数对恢复色键。 
//14.
  SAPI  BOOL  DLLCALL sapiChangePreviewVideoOffset(UINT CardID,UINT VChannelID,int HOffset,int VOffset);
  输入: CardID:卡号;VChannelID视频通道号:为MAIN_VCH(SS1,SS2,SD卡)或SUB_VCH(SD卡) ;
        HOffset,VOffset为该视频通道,视频信号水平和垂直偏移量。
  返回: 成功返回TRUE.
  功能: 设置某卡某路预览视频信号的水平和垂直偏移量,在黑边太大,或边缘不好时,可调此函数修改。
//15.        
  SAPI  BOOL  DLLCALL sapiMoveMainRegion(int MRgnID,int ScreenX,int ScreenY,BOOL IsPal);
  输入: MRgnID:主区域标识。ScreenX,ScreenY:主区域(窗口客户区)左上角顶点屏幕坐标;
        IsPal: TRUE为PAL,FALSE 为NTSC。
  返回: 成功返回TRUE.
  功能: 移动一个主区域,包括主区域内的所有子区域到新的顶点位置,ScreenX,ScreenY应>=0
        且<最大屏幕宽,高。
        一般在WM_MOVE消息处理函数中调用.
//16.
  SAPI  BOOL  DLLCALL sapiSizeMainRegion(int MRgnID,UINT SizeType,int dx,int dy,BOOL IsPal);
  输入: MRgnID:主区域标识。SizeType为SIZE类型,与WM_SIZE,CWnd::OnSize中的Size类型一致,
        参考MSDN,可取值:
        SIZE_MAXHIDE :
           Message is sent to all pop-up windows when some other window is maximized. 
        SIZE_MAXIMIZED :
           Window has been maximized. 
        SIZE_MAXSHOW :
           Message is sent to all pop-up windows when some other window has been restored to its former size. 
        SIZE_MINIMIZED 
           Window has been minimized. 
        SIZE_RESTORED 
           Window has been resized, but neither the SIZE_MINIMIZED nor SIZE_MAXIMIZED value applies

        dx,dy:主区域(窗口客户区)的新宽,高;
        IsPal: TRUE为PAL,FALSE 为NTSC。
  返回: 成功返回TRUE.
  功能: 缩放一个主区域,包括主区域内的所有子区域,dx,dy>16
        且<最大屏幕宽,高。
        一般在WM_SIZE消息处理函数中调用.
//17.
  SAPI  BOOL  DLLCALL sapiOverlayFullScreenPreview(int MRgnID,int SRgnID);
  输入: MRgnID:主区域标识;SRgnID子区域标识。
  返回: 成功返回TRUE.
  功能: 将MRgnID主区域中的SRgnID子区域满屏显示,主区域必须是OVERLAY方式工作,且子区域
        已开始显示。注意在满屏显示期间,如GDI面有画面更新,会透出其他画面,此时需调用
        sapiUpdateFullOverlay函数刷新GDI面。
//18.
  SAPI  BOOL  DLLCALL sapiOverlayZoomScreenPreview(int MRgnID,int SRgnID,RECT * pZoomRange);
  输入: MRgnID:主区域标识;SRgnID子区域标识。
        pZoomRange:RECT结构指针,指明缩放区域大小,位置,屏幕坐标。
  返回: 成功返回TRUE.
  功能: 将MRgnID主区域中的SRgnID子区域在屏幕指定位置,以指定大小显示,主区域必须是OVERLAY方式
        工作,且子区域已开始显示。注意当调用该函数后除该区域显示,其他子区域均看不到显示
//19.
  SAPI  BOOL  DLLCALL sapiUnOverlayFullScreenPreview(int MRgnID,int SRgnID);
  输入: MRgnID:主区域标识;SRgnID子区域标识。
  功能: 解除满屏显示,恢复原样。

//20.
  SAPI  BOOL  DLLCALL sapiUnOverlayZoomScreenPreview(int MRgnID,int SRgnID);
  输入: MRgnID:主区域标识;SRgnID子区域标识。
  功能: 缩放区域显示,恢复原样。

//21.
  SAPI  BOOL  DLLCALL sapiUpdateFullOverlay();
  输入: MRgnID:主区域标识;SRgnID子区域标识。
  功能: 更新OVERLAY满屏显示区域,保证满屏显示画面不被其他画面的刷新干扰,破坏。
        只有满屏显示期间才可调用它。且每次WINDOWS刷新画面后都应调用它。
//22.
 SAPI   BOOL  DLLCALL sapiGetDispRegion(int MRgnID,int SRgnID,RECT * pct);
  输入: MRgnID:主区域标识;SRgnID子区域标识,pct RECT结构指针。
  输出: pct含有对应子区域的左上顶点和右下顶点坐标(相对于主区域)。
  功能: 获得子区域顶点坐标(位置,尺寸)。
  


5. 关于s1000卡音频API的说明:
5-1.主要有如下的6个api函数分别用于音频数据流的记录,实时播放及文件的回放.
1.BOOL  sapiStartAudioCapture(UINT CardID,stAudioParams * pParams);开启记录和回调获得数据接口
2.BOOL  sapiStopAudioCapture(UINT CardID);停止记录和回调获得数据接口
3.BOOL  sapiStartAudioMonitor(UINT CardID,stAudioParams * pParams);开启实时播放
4.BOOL  sapiStopAudioMonitor(UINT CardID);停止实时播放
5.BOOL  sapiPlayPCMAudioFile(char * filename);开启回放
6.BOOL  sapiStopPlayPCMAudioFile();停止回放
他们只对卡号和卡的类型进行检查,然后调用audiodll.lib中的相应函数.这些函数在audio.h中声明;
所用的结构声明在ssapi.h中.
下面是stAudioParams结构的说明:
typedef struct{
	BOOL            EnCallback;//if this Flag  is TRUE the following callback param is valid
	//if no call back must set it FALSE,and the following two params must be set to NULL 
	void          * pUserCallBackParam;//callback params
        AUDIOCALLBACK   pAudioCallback;//callback function adress
	BOOL            UseTVCardini;//if this flag is TRUE,the follow params is invalid 
	int             Channel;//1,2;
	int             Frequency;//11 or 11025;22 or 22050;44 or 44100
	int             Bits;//8 or 16
	char          * FileName;//recording file name
	BOOL            EnRecord;//you can open the thread and no record.
}stAudioParams;
用户在调用sapiStartAudioCapture可设置回调标志获得上层音频数据流的接口,注意,在回调函数中应尽量的减少烦琐的操作.在对Channel, Frequency, Bits成员设置时,先后启动记录和实时播放,这些参数是先设的有效.
结构stAudioRunFlag是音频运行时的的标志,不能修改这些标志;
typedef struct{
	BOOL Captureing:1;
	BOOL Recording:1;
	BOOL Playing:1;
	BOOL Callbacking:1;
	BOOL EnRecord:1;
	BOOL Bits8:1;
	BOOL Mono11K:1;
}stAudioRunFlag;
回放是独立于实时播放和记录的.但他又和实时播放共享同一组数据结构,所以,他们不能同时运行.
最后,特别注意有些集成声卡或声卡质量较差,会在实时播放时有死机的现象,但仅记录和回放不会出现问题.而在创新的声卡进行测试,没出现异常.建议采用创新的声卡.

硬件支持音频格式列表:
     频率   声道    采样位数   每分数据量(字节)
     44100    2         16      10584000(约10MB)
     44100    1         16       5292000
     22050    2         16       5292000
     22050    1         16       2646000
     11025    2         16       2646000
软件处理得到音频数据格式列表:
     频率   声道    采样位数   每分数据量(字节)
     44100    2         8         5292000
     44100    1         8         2646000
     22050    2         8         2646000
     22050    1         8         1323000
     11025    2         8         1323000
     11025    1         8         661500(约646kB)
//
     11025    1         16        1323000


6.预览流报警函数,结构及其功能

//6-1:结构
 
typedef struct
{
	BOOL			bUseINI;//bUseINI==TRUE,the next three option will be initialized from the TVCard.ini;
							//bUseINI==FALSE;,the next three option will be initialized by user.
							//是否使用TVCard.ini;如果使用为TRUE,则下面的数据从TVCard.ini中读取(用户需先在TvCard.ini中
							//设置);如果不使用TVCard.ini,为FALSE,则还需填充该结构的其他成员。
		///////////////////////////////////////////////////
		BOOL			bAssign;//if the user draw rectangle;
							//用户是否指定子窗口;不指定,为FALSE,则报警处理来自该通道整个画面;用户不需要填充usr_rect;
							//指定,为TRUE,则用户需要给出usr_rect的值,报警只处理usr_rect指定的区域;
		int				latch;//the  sensitive of the alert;more less, more sensitive
							// 0-15

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -