更新记录

0.1.0(2026-08-26)

支持安卓苹果


平台兼容性

uni-app x(4.31)

Chrome Safari Android Android插件版本 iOS iOS插件版本 鸿蒙 微信小程序
- - 5.0 0.1.0 13 0.1.0 - -

hik-video-player

面向 uni-app x 的海康 RTSP 原生播放器组件,同时支持 Android 与 iOS。

当前版本提供原生画面渲染和基础启停能力,不包含内置控制条、全屏、抓图、录像、对讲、云台或自动重连。

平台说明

  • Android:HatomPlayer SDK 2.4.6,支持 armeabi-v7a 与 arm64-v8a,最低 Android API 21。
  • iOS:HatomPlayer SDK 2.4.1,最低 iOS 13;供应商 framework 仅包含 arm64,因此只能在真机使用。
  • iOS 必须随包包含 com.hri.hpc.mobile.ios.player.metallib,缺失时播放器会崩溃。

使用方法

组件会通过 easycom 自动注册,不需要手动 import:

<template>
  <hik-video-player
    ref="playerRef"
    class="player"
    :src="src"
    :autoplay="true"
    :muted="muted"
    :hard-decode="true"
    :timeout="20"
    @ready="onReady"
    @play="onPlay"
    @error="onError"
    @stopped="onStopped"
  ></hik-video-player>
</template>

<script setup lang="uts">
import { ref } from 'vue'
import type { HikPlayerEventDetail } from '@/uni_modules/hik-video-player'

const playerRef = ref<HikVideoPlayerComponentPublicInstance | null>(null)
const src = ref<string>('rtsp://example.com/live')
const muted = ref<boolean>(false)

function onReady(_detail : HikPlayerEventDetail) : void {}
function onPlay(_detail : HikPlayerEventDetail) : void {}
function onError(detail : HikPlayerEventDetail) : void {
  console.error(detail.code, detail.message)
}
function onStopped(_detail : HikPlayerEventDetail) : void {}

function play() : void { playerRef.value?.play() }
function pause() : void { playerRef.value?.pause() }
function resume() : void { playerRef.value?.resume() }
function stop() : void { playerRef.value?.stop() }
function setMuted(value : boolean) : void {
  muted.value = value
  playerRef.value?.setMuted(value)
}
</script>

<style>
.player {
  width: 100%;
  height: 210px;
}
</style>

属性

属性 类型 默认值 说明
src string '' RTSP 或海康 SDK 支持的播放地址
autoplay boolean false 原生视图就绪后自动播放
muted boolean false 是否静音
hardDecode boolean true 是否启用硬件解码
timeout number 20 取流超时秒数,非正数按 20 处理

方法

方法 说明
play() 播放当前 src
pause() 暂停播放
resume() 恢复播放
stop() 停止播放
setMuted(muted) 动态设置静音状态

事件

readyplayerrorstopped 都返回以下结构:

type HikPlayerEventDetail = {
  src : string
  status : 'idle' | 'ready' | 'starting' | 'playing' | 'paused' | 'stopped' | 'error' | 'destroyed'
  code : string
  message : string
}

error 会保留海康 SDK 返回的原始错误码;组件不做自动重连,可由页面调用 play() 显式重试。

构建与测试

  • 这是包含原生依赖的 UTS 插件,必须制作自定义调试基座或正式云打包,标准基座不能加载。
  • iOS 需要使用 arm64 真机;当前供应商 framework 不包含模拟器架构。
  • Android 包含 armeabi-v7aarm64-v8a 两套库,应用不能只打包其他 ABI。
  • 组件卸载时会停止并释放播放器;页面进入后台时仍建议主动调用 pause()stop()
  • 插件不内置控制条,播放按钮等交互由页面实现。项目中的启动测试页提供了完整示例。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

Android 使用网络权限播放直播流

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不主动采集用户数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。