Camera3xPlugin

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

版权所有:深圳新瑞彩网络科技有限公司

信产部备案号:粤ICP备09050685号