📄 simpapi13.txt
字号:
返回: 成功返回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 + -