更新记录

1.0.0(2026-08-26) 下载此版本

1


平台兼容性

uni-app(5.24)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

wc-live-player 直播播放器

按流格式自动分流的直播播放器组件(easycom,免 import 直接使用)。

分流规则

流地址 播放载体 控制方式
rtmp://…、路径以 .flv 结尾(忽略 query) live-player(仅微信小程序) 自绘控制层:播放/暂停、投屏、全屏
m3u8、mp4、其余格式;H5/App 等其余平台 video 系统默认控件(组件只补一层失败重试遮罩)

使用示例

<wc-live-player
    :src="streamUrl"
    object-fit="contain"
    :full-screen-direction="90"
    @statechange="onStateChange"
/>

属性

属性 类型 默认值 说明
src string '' 流地址。为空时显示「暂无直播地址」占位
autoplay boolean true 自动播放
muted boolean false 静音
object-fit 'contain' \| 'cover' \| 'fill' 'contain' 填充模式。live-player 端映射为 contain/fillCrop
full-screen-direction 0 \| 90 \| -90 90 全屏方向(视频旋转角度)
enable-casting boolean true 是否展示投屏按钮(仅 live-player 分支)

事件

事件 参数 说明
statechange code: number live-player 状态码透传(2004 播放开始、2103 自动重连、-2301 断连等)
error reason 播放失败(live-player/video 的 error 事件或致命状态码)
fullscreenchange fullScreen: boolean 全屏状态变化(live-player 分支)

对外方法(ref 调用,仅 live-player 分支生效)

play() / pause() / resume() / stop() / requestFullScreen() / exitFullScreen()

live-player 分支状态机

loading(加载中/自动重连)→ playingpaused(用户暂停/禁止自动播放)→ error(-2301、-2302、3001~3005 等致命码,提供「点击重试」= stop + play 重启拉流)。

真机已知行为:部分机型 pause()resume() 后不再回调 2004 状态码。因此「恢复播放」的 UI 状态由组件乐观更新(点播放立即切 playing),不依赖 statechange;真实拉流失败仍会经致命状态码落回 error 态。

控制层图标取自 iconfont.cn 同一项目成套矢量,已统一归一为白色填充(小程序 <image> 渲染 SVG 无法用 CSS 改色,颜色烧在文件内),本地化于插件 static/ 目录,运行时无外网依赖;控制层覆盖依赖微信 2.9.1+ 同层渲染。要更换图标,用 iconfont 下载 SVG 后将 fill 改为 #FFFFFF,同名覆盖 static/ 下对应文件即可:

文件 用途
play.svg / pause.svg 播放 / 暂停
fullscreen.svg 全屏(进入后由系统层接管,退出走系统返回手势)
cast.svg 投屏(投屏中以金色高亮底区分)
loading.svg 加载/重连圆环(CSS 旋转动画)

注意事项

  1. 类目权限:微信小程序使用 live-player 需先通过直播类目审核,并在小程序后台「开发-接口设置」自助开通该组件权限。
  2. 开发者工具不渲染 live-player(官方限制),需真机预览验证 flv/rtmp 分支。
  3. 投屏依赖基础库 2.32.0+enable-casting + LivePlayerContext.startCasting/exitCasting),低版本点击投屏按钮会 toast 提示版本过低。
  4. 全屏:live-player 原生全屏为系统层,进入后自绘控制层不可见,退出全屏走系统返回手势;如需常驻控制请保持内嵌模式。
  5. H5 端浏览器无法直接播 flv/rtmp,会按 video 兜底并展示失败态,属预期行为。

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。