ip camera 3.x 插件及控件开发文档
ip camera 3.x 插件及控件文档
版本/作者/日期 | 修改内容 |
---|---|
1.0/kun/2013-03-26 | 初版 |
1.1/kun/2013-05-20 | 添加了音频音量大小控制属性,OSD设置方法,本地数据保存接口方法,鼠标左键点击窗口事件。 |
1.2/kun/2013-07-05 | 添加视频视频录制时间间隔设置属性,选择录制录像的存放路径,添加视频当前大小的回调事件,插件增加了获取版本号的方法 |
插件安装程序下载
Attach:PluginInstall.msi ,版本:1.0.0.2.支持firefox,chrome.opera,safari 使用例子:Attach:plugin_sample.html
IE 控件cab包下载
Attach:rc_hplayer.cab ,版本:1.0.0.7.使用例子:Attach:active_sample.html
属性
- Model
本属性为只可读,读取的参数值表示当前连接的camera的型号,0代表RC9264系列。
- Mode
本属性为只读。读取的参数含义客户端与当前camera的连接模式, 0:CONNECT_TO_CAMERA;1:CONNECT_BY_CAMERA,2:P2P。目前只支持0模式。
- ID
本属性为只读。查询当前连接的camera id。
- Host
本属性为只读,查询当前连接camera的ip地址
- Port
本属性为只读。查询当前连接的camera的Port。
- SSL
本属性为只读。保留属性为0。
- User
本属性为只读。查询当前连接的camera的用户名。
- Pwd
本属性为只读。查询当前连接的camera的密码。
- Key
本属性为只读。查询当前连接的camera的key,一般为空。。
- Group
本属性为只读。查询当前连接的camera的用户权限。
- ConnectStatus
本属性为只读。查询当前的camera的连接状态。0,:断开连接或连接失败,1:连接中,2:连接认证中,3:连接成功。
- VideoStatus
本属性为只读。查询当前连接的camera的视频播放状态。-1:停止播放,0,请求中,1:播放中。
- AudioBufferMs
本属性为可读可写。设置和查询音频视频的缓冲时间。
- AudioStatus
本属性为只读。查询当前连接的camera的音频播放状态。-1:停止播放,0,请求中,1:播放中。
- SpeakStatus
本属性为只读。查询当前连接的camera的对讲状态。-1:停止播放,0,请求中,1:播放中。
- RecordStatus
本属性为只读。查询当前连接的camera的录像状态。0:没有录像和停止录像,1,录像中,2:录像完成。
- ReocrdFolder
本属性为可读可写。查询和设置当前连接的camera的录像文件存储目录。
- Error
本属性为只读。查询当前操作的错误值。
- DiscoveredCameraID
本属性为只读。查询搜索到的camera的ID。
- DiscoveredCameraFirmwareVersion
本属性为只读。查询搜索到的camera的FirmwareVersion。
- DiscoveredCameraWebUIVersion
本属性为只读。查询搜索到的camera的WebUIVersion。
- DiscoveredCameraAlias
本属性为只读。查询搜索到的camera的Alias。
- DiscoveredCameraCurrectIP
本属性为只读。查询搜索到的camera的CurrectIP。
- DiscoveredCameraCurrectNetmask
本属性为只读。查询搜索到的camera的CurrectNetmask。
- DiscoveredCameraDhcp
本属性为只读。查询搜索到的camera的Dhcp。
- DiscoveredCameraIP
本属性为只读。查询搜索到的camera的IP。
- DiscoveredCameraNetmask
本属性为只读。查询搜索到的camera的Netmask。
- DiscoveredCameraGateway
本属性为只读。查询搜索到的camera的Gateway。
- DiscoveredCameraDNS1
本属性为只读。查询搜索到的camera的DNS1。
- DiscoveredCameraDNS2
本属性为只读。查询搜索到的camera的DNS2.
- DiscoveredCameraPort
本属性为只读。查询搜索到的camera的Port。
- DiscoveredCameraHttps
本属性为只读。查询搜索到的camera的Https。
- DiscoveredCameraModel
本属性为只读。查询搜索到的camera的Model。
- DiscoveredCameraIDType
本属性为只读。查询搜索到的camera的id的类型,0:普通id,1:ppcn id, 2:rcp2p id。
- AudioVolume
本属性可读可写,写为设置音量的大小,读为获取当前的音量大小。 - RecordInterval
本属性可读可写,本属性表示设置录制视屏的时间分割间隔。初始值为15分钟,单位为时间分。
方法
- SetCamera
long SetCamera(long Model, ong Mode, const char * ID, const char * Host,long Port, BOOL SSL,const char * User,const char * Pwd,const char * Key);
设置要连接的camera的信息。 参数: Model:摄像机的型号目前支持RC9264,值为:0。 Mode:与camera的连接方式:当前只支持0,看属性介绍。 ID:目标camera的id。 Host:目标camera的host。 Port:目标camera的port。 SSL:保留参数,为0。 User: 连接用户名。 Pwd:连接密码。 Key:连接camera的key,默认为NULL 例如: function SetCamera() { var ret = videoPlugin.SetCamera(0,0,"","192.168.0.189",88,0,"admin","",""); } 注:每次与camera连接前即调用Connect( , )前必须调用这个方法设置camera的信息。调用成功返回0,失败返回-1.
- Connect
long Connect(BOOL Reconnectable, long ReconnectInterval);
连接camera方法 参数:Reconnectable:是否重连 0:不重连,1:重连。 ReconnectInterval:重连的时间间隔。 调用本方法之前必须先调用SetCamera方法设置需要连接的camera的信息。 返回值:0:调用成功; -1:调用失败; -3:已连接或连接中。 注:此方法为异步调用操作调用成功并不表示连接成功,通过OnConnectStatusChanged事件返回值获知连接状态。
- Disconnect
long Disconnect();
断开与camera的方法。 参数:无。 返回值:0:调用成功; -1:调用失败; -2:此camera还未连接。 注:此方法为异步操作,通过OnConnectStatusChanged事件返回值获知状态。
- PlayVideo
long PlayVideo(long stream);
请求视频播放方法。 参数:stream:请求播放camera的哪一路视频。 返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:视频播放中, -5:该用户无权执行此功能。 注:此方法为异步操作,通过OnVideoStatusChanged事件返回值获知状态。
- StopVideo
long StopVideo();
停止视频播放。 参数:无。 返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:未请求有视频播放。 注:此方法为异步操作,通过OnVideoStatusChanged事件返回值可获知状态。
- PlayAudio
long PlayAudio();
请求音频播放方法。 参数:无。 返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:视频播放中, -5:该用户无权执行此功能。 注:此方法为异步操作,通过OnAudioStatusChanged事件返回值获知状态。
- StopAudio
long StopAudio();
停止音频播放。 参数:无。 返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:未请求有音频播放。 注:此方法为异步操作,通过OnAudioStatusChanged事件返回值可获知状态。
- StartSpeak
long StartSpeak(long SpeakBufferMs);
请求对讲方法。 参数:SpeakBufferMs:音频的播放缓冲时间。 返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:对讲进行中, -5:该用户无权执行此功能。 注:此方法为异步操作,通过OnSpeakStatusChanged事件返回值获知状态。
- StopSpeak
long StopSpeak();
停止对讲。 参数:无。 返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:未请求有对讲。 注:此方法为异步操作,通过OnSpeakStatusChanged事件返回值可获知状态。
- StartRecord
long StartRecord(const char *filename);
开始录像方法。 参数:filename:录像的文件名,必须以asf为文件名后缀。 返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:录像中, -5:该用户无权执行此功能。 注:此方法为异步操作,通过OnRecordStatusChanged事件返回值获知状态。
- StopRecord
long StopRecord();
停止录像。 参数:无。 返回值:0:操作成功, -1,:操作失败。 注:此方法为异步操作,通过OnRecordStatusChanged事件返回值可获知状态。
- AddCameraPropertyToFetch
void AddCameraPropertyToFetch(const char * Name);
添加要获取的属性。 参数:Name:要获取的属性的名称,每次只能是一个属性的名称,多个属性多次调用此方法即可。 返回值:无 注:此方法只是添加要查询的属性名称而已,还并未开始获取
- FetchCameraProperties
long FetchCameraProperties();
调用此方法获取AddCameraPropertyToFetch添加的属性的值。 参数:无 返回值:0:操作成功,-1:操作失败,-2:camera未连接。 属性的值通过OnCameraPropertyFetched事件返回
- AddCameraParamToFetch
void AddCameraParamToFetch(const char * Name);
添加要获取的参数。 参数:Name:要获取的参数的名称,每次只能是一个参数的名称,多个参数多次调用此方法即可。 返回值:无 注:此方法只是添加要查询的参数名称而已,还并未开始获取。
- FetchCameraParams
long FetchCameraParams();
调用此方法获取AddCameraParamToFetch添加的参数的值。 参数:无 返回值:0:操作成功,-1:操作失败,-2:camera未连接。 属性的值通过OnCameraParamFetched事件返回
- AddCameraStatusToMonitor
void AddCameraStatusToMonitor(const char * Name);
添加要监控的项目名称。 参数:Name:要监控的项目的名称,每次只能是一个项目的名称,多个项目多次调用此方法即可。 返回值:无 注:此方法只是添加要监控的项目名称而已,还并未开始获取
- MonitorCameraStatus
long MonitorCameraStatus();
调用此方法获取AddCameraStatusToMonitor添加的参数的值。 参数:无 返回值:0:操作成功,-1:操作失败,-2:camera未连接。 属性的值通过OnCameraStatusChanged事件返回。
- AddCameraParamToSet
void AddCameraParamToSet(const char * Name, const char * Value);
添加要设置的参数。 参数:Name:要设置的参数的名称,每次只能是一个参数的名称,多个参数多次调用此方法即可;value:对应的参数名称的值。 返回值:无 注:此方法只是添加要设置的参数名称而已,还并未开始获取。
- SetCameraParams
long SetCameraParams();
调用此方法设置AddCameraParamToSet添加的参数的值。 参数:无 返回值:0:操作成功,-1:操作失败,-2:camera未连接。
- PTZControl
long PTZControl(long Command, long Param);
云台控制 参数:Command:控制命令;Param:控制参数值。 返回值:0:操作成功,-1:操作失败,-2:camera未连接,-5:该用户没有云台控制的权限.
- StartDiscovery
long StartDiscovery();
打开camera搜索功能 参数:无 返回值:0:操作成功, -4:该功能已打卡。 注:此方法为异步操作,通过OnCameraDiscovered事件返回搜索的结果.
- StopDiscovery
long StopDiscovery()
关闭搜索功能 参数:无 返回值:0:操作成功, -4:该功能未打卡。
- SetLocalParam
long SetLocalParam(char *name,char *param);
保存本地参数 参数:name:参数名称,param:参数值 返回值:0:成功,-1:失败。
- GetLocalParam
char * GetLocalParam(char *name);
获取保存在本地的参数 参数:name:参数名称 返回值:返回name对应的参数,没有则返回空。
- SetVideoOsd
long SetVideoOsd(char *name,bool enable_date,long color);
设置视频显示的OSD,调用改函数前,必须先调用打开视频接口。 参数:name:要显示的camera的名称,enable_date:是否使能显示时间,\\ color:显示的颜色,1:黑,2:蓝,3:绿,4:青,5:红,6:黄,7:白。 返回值:小于0设置失败
- ChooseRecordDir
char *ChooseRecordDir();
这个方法用来实现可视化选择目录的路径,返回值为所选择的路径。
- versions
char *versions()
获取插件的版本号,只在插件里有这个方法
事件
- OnConnectStatusChanged
void OnConnectStatusChanged();
接收到此事件表示ConnectStatus发生改变。
- OnVideoStatusChanged
void OnVideoStatusChanged();
接收到此事件表示VideoStatus发生改变。
- OnAudioStatusChanged
void OnAudioStatusChanged();
接收到此事件表示AudioStatus发生改变。
- OnSpeakStatusChanged
接收到此事件表示SpeakStatus发生改变。
- OnRecordStatusChanged
void OnRecordStatusChanged();
接收到此事件表示RecordStatus发生改变。
- OnCameraPropertyFetched
void OnCameraPropertyFetched(BSTR Name, BSTR Value);
获取camera属性的事件返回。 Name:属性名称,Value:属性值
- OnCameraParamFetched
void OnCameraParamFetched (BSTR Name, BSTR Value);
获取camera参数的事件返回。 Name:参数名称,Value:参数值
- OnCameraStatusChanged
void OnCameraStatusChanged (BSTR Name, BSTR Value);
获取camera监控项目的事件返回。 Name:项目名称,Value:项目值
- OnCameraDiscovered
void OnCameraDiscovered(long Action);
参数:Action:表示当前搜索到的camera的在线状态; 0:表示该camera是新搜索到的; 1:表示该camera下线了; 2:表示该camera更新。 Camera搜索结果返回事件 注:每次调用到这个事件,DiscoveredCamera* 系列的属性也随着变换。
- OnStatistics
void OnStatistics(long VideoFramesRecved, long VideoFramesShowed, long VideoBytesRecved, long AudioSamplesRecved,long AudioBytesRecved, long AudioSampleSent, long AudioBytesSent);
带宽统计事件:返回当前每秒收到的音视频的帧数,以及每秒显示的帧数。 参数: VideoFramesRecved:每秒接受到的视频数据的帧数; VideoFramesShowed:每秒显示的视频的帧数; VideoBytesRecved:每秒接受到的视频数据的大小; AudioSamplesRecved:每秒接受到音频的帧数; AudioBytesRecved:每秒接受到音频数据的大小; AudioSampleSent:每秒发送音频的帧数; AudioBytesSent:每秒发送的音频数据的大小。
- OnLeftKeyPressed
void OnKeyPressed();
鼠标左键点击显示窗口会触发这个事件。
- VideoResolution
void VideoResolution(int resolution);
参数resolution表示如下: 0:SQCIF // 128*96 1:QQVGA_H128, // 160*128 2:QQVGA, // 160*120 3:QCIF, // 176*144 4:QVGA, // 320*240 5:CIF, // 352*288 6:VGA, // 640*240 7:D1_W704, // 704*576 8:D1, // 720*576 9:SVGA, // 800*600 10:XGA, // 1024*768 11:H720P, // 1280*720 12:W256_H144, // 256*144 13:W384_H216, // 384*216 14:W512_H288, // 512*288 15:W640_H360, // 640*360 16:W768_H432, // 768*432 17:W896_H504, // 896*504 18:W1024_H576 // 1024*576