海康云眸·连锁 API
  1. 微信小程序接入视频服务
海康云眸·连锁 API
  • 产品介绍
  • 能力概览
  • 错误码表
  • 常见问题
  • 快速入门
    • 生成授权凭证
    • 接口调用说明
    • 生成access_token
      POST
  • 开发指南
    • 接口说明
    • 消息通道
  • 视频服务能力
    • 视频设备配置指南
    • 视频对接指南
    • 直播服务
    • 微信小程序接入视频服务
    • 视频集成方案
      • web视频控件
      • UIKIT
      • 标准流预览
      • 移动端SDK
        • Android
        • 错误码对照表
        • iOS
    • 直播服务
      • 开通直播间
      • 通过通道ID获取直播间地址
      • 关闭设备加密
    • 微信小程序接入视频服务
      • 1.开发指南
      • 2.小程序开发
      • 3.接口说明
        • 获取直播/回放RTMP地址
    • 取流认证
      GET
  • 设备数据
    • 修改通道名称
      POST
    • 通过门店ID查询设备通道列表
      GET
    • 通过门店编号查询设备通道列表
      GET
    • 查询所有设备通道列表
      GET
    • 通过设备序列号查询通道列表
      GET
    • 通过设备序列号查询设备录像存储记录
      GET
  • 设备能力
    • 云台控制
      • 开始云台控制
      • 停止云台控制
      • 根据通道Id查询预置点列表
      • 新增预置点
      • 调用预置点
      • 删除预置点
    • 设备抓图
      • 设备抓图
    • 修改报警能力开关
      • 修改报警能力开关
    • IO管理
      • 获取设备IO端口状态
      • 获取设备指定输出口信息
      • 配置设备指定输出口信息
      • IO输出
    • 探测器
      • 查询网关下探测器列表
      • 网关关联子设备
      • 网关解绑子设备
      • 修改子设备名称
      • 设置传感器状态
    • 云存储
      • 开通云存储
  • 门店数据
    • 获取门店列表
    • 门店布撤防状态查询
  • 客流统计
    • 通过门店ID查询客流数据
    • 通过门店编号查询客流数据
    • 查询客流数据
  • 区域热度
    • 查询区域热度配置
    • 查询驻足人次分布
    • 生成热度图
    • 获取热度图
    • 获取区域关注度配置
    • 区域关注度配置
  • POS单
    • POS单信息录入
  • 巡查服务
    • 查询自动抓图的图片数据
  • 开门事件
    • 开门事件
  • 消息通道
    • 创建消费者
    • 消费消息
    • 接口定义
    • 提交偏移量
  • 消息类型定义
    • 设备报警消息
  • 智能分析AI能力
    • 查询模型列表
    • 查询算法模型的训练版本
    • 获取算法训练版本详情
    • 图片回传
  • 身份认证
    POST
  • 获取门店区域组织节点全量列表
    GET
  1. 微信小程序接入视频服务

2.小程序开发

2.小程序开发#

2.1视频播放开发示例#

我们使用微信提供的 live-player组件进行视频播放,在 .wxml文件中引入该组件,我们为live-player组件指定id值,用于创建 LivePlayerContext 对象,以操作live-player组件。
live-player组件部分属性说明如下:
bindstatechange:监听播放状态变化,通过e.detail.code获取当前播放状态值,部分状态码如下所示。
mode属性默认为live(直播模式),小程序live-player组件为实时通话模式(mode=”RTC”),该模式时延更低。
src:您的设备播放地址,目前仅支持tmp格式。
autoplay:true表示自动播放,false表示手动播放。
cover-view组件 可覆盖在live-player组件之上,用于展示“播放按钮”、”全屏按钮”等播放器辅助功能。通过hidden="{true}"进行隐藏,hidden="{false}"进行展示。
         <live-player id="previewPlayer" binderror="error" bindstatechange="statechange" mode="RTC" src=""  autoplay="true" >
         </live-player>
         <!-- 播放停止状态 -->
         <cover-view class="video-loaing video-ready" hidden="true">
             <cover-image class="loading-gif" src="../live/images/live/landscape_play.png" catchtap="handlePlay">
             </cover-image>
         </cover-view>
        
         let livePlayerContext;
         Page({
             data: {
                 videoSrc: '', // 视频播放地址
                 videoLoadingStatus: 0, // 播放按钮展示状态
             },
             onLoad: function () {
                 livePlayerContext = wx.createLivePlayerContext('previewPlayer');
                 // 调用接口获取videoSrc视频播放地址
             },
             // 播放状态监听
             statechange(e) {
             const { code } = e.detail;
             switch (code){
               case 2007: //启动loading
                 break;
               case 2001: //连接服务器 
                 break;
               case 2002: //已经连接 RTMP 服务器,开始拉流 
                    break;
               case 2008: // 解码器启动
                 console.log("case 2008: //解码器启动");
                 break;
               case 2009: //视频分辨率改动
                  console.log("case 2009: //视频分辨率改动");
                 this.handlePlay(); // 视频分辨率改动可能导致播放暂停,可调用handlePlay()重启播放
                 break;
               case 2004: 
                 console.log("case 2004: // 视频播放开始");
                 break;
               case 2003: 
                   console.log("case 2003: //网络接收到首个视频数据包(IDR)");
                   break;
               case 2103: //网络断连, 已启动自动重连(本小程序不自动重连)
                   break;
               case 3001:
               case 3002:
               case 3003:
               case 3005: // RTMP 读/写失败,之后会发起网络重试
                   console.log("播放失败");
                   break;
               case 2105: // 当前视频播放出现卡顿
                 break;
               case -2301: // 经多次重连抢救无效,更多重试请自行重启播放
                 break;
             }
           },
             // 播放按钮
               handlePlay(e){
                   livePlayerContext.play({
                   success: ()=>{
                       // Do some thing
                   },
                   fail: (error)=>{
                       // Do some thing
                   }
                   })
               },
         })
        

【海康云眸】API开发者 微信交流群

用微信扫右侧二维码,加入【海康云眸】API开发者 交流群,互助沟通

扫码加入交流群
上一页
1.开发指南
下一页
获取直播/回放RTMP地址
Built with