更新记录
2.3.0(2026-01-08) 下载此版本
-
控制栏增强功能
- 添加播放/暂停按钮,方便快速控制播放状态
- 添加静音/取消静音按钮,一键切换静音状态
- 优化控制栏布局,提升用户体验
-
网络状态显示
- 实时显示网络连接状态(未连接、连接中、已连接)
- 智能判断网络质量(较差、良好、优秀)
- 根据播放统计数据(FPS、码率、缓冲)动态评估网络状态
- 网络状态指示器显示在控制栏,颜色和图标实时更新
-
自动播放优化
- 优化 H5 端自动播放逻辑
- 初始化完成后立即尝试播放,不等待 load 事件
- 添加备用播放机制,确保自动播放可靠性
2.2.0(2026-01-08) 下载此版本
1.0.1(2023-04-13) 下载此版本
修复已知问题
查看更多平台兼容性
uni-app(3.7.6)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | × | × | × | × | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × |
uni-app x(3.6.15)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| √ | √ | × | × | × | × |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | × | √ |
sy-new-jessibuca
基于 MediaSource/WebAssembly(wasm) 实现的纯 JavaScript 直播播放器组件,支持 ws-raw、ws-flv、http-flv 多种播放格式。
📋 平台支持
| 平台 | 支持情况 | 说明 |
|---|---|---|
| H5 | ✅ 完全支持 | 使用 jessibuca.js 实现完整功能 |
功能特性
- ✅ WebSocket 流播放(ws-raw、ws-flv)
- ✅ HTTP-FLV 流播放
- ✅ 截图功能
- ✅ 全屏播放
- ✅ 音量控制(滑块 + 静音按钮)
- ✅ 播放/暂停控制
- ✅ 网络状态实时显示
- ✅ 播放质量智能评估
- ✅ 统计信息显示
- ✅ 自定义样式
- ✅ 快捷键支持
- ✅ 倍速播放
- ✅ 画中画模式
- ✅ 加载提示
- ✅ 错误重试
- ✅ 自动播放
🚀 快速开始
2. H5 平台配置
在 manifest.json 的 H5 配置中指定自定义模板:
{
"h5": {
"template": "uni_modules/sy-new-jessibuca/hybrid/index.html"
}
}
3. 基础使用
<template>
<view>
<sy-new-jessibuca
:url="videoUrl"
:width="375"
:height="500"
:isAuto="true"
@load="onLoad"
@error="onError"
/>
</view>
</template>
<script setup>
import { ref } from 'vue'
const videoUrl = ref('ws://example.com/live.flv')
const onLoad = () => {
console.log('播放器加载完成')
}
const onError = (error) => {
console.error('播放错误:', error)
}
</script>
📖 API 文档
属性 (Props)
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| width | String/Number | 375 | 画布宽度(px) |
| height | String/Number | 500 | 画布高度(px) |
| url | String | '' | 播放地址(支持 ws-raw、ws-flv、http-flv) |
| isAuto | Boolean | false | 是否自动播放 |
| isNotMute | Boolean | false | 是否开启声音 |
| isResize | Boolean | true | 是否等比缩放 |
| poster | String | '' | 封面图地址 |
| background | String | '' | 背景图地址 |
| loadingText | String | '' | 加载文案 |
| decoder | String | '' | jessibuca 路径(如项目打包时没有子目录无需填写) |
| options | Object | {} | jessibuca 其他配置项 |
| mainStyle | Object | {} | 组件自定义样式 |
| screensStats | Object | {fps:true} | 是否显示流状态统计 |
| isTabbar | Boolean | false | 是否显示标题栏 |
| title | String | '' | 标题栏文本 |
| screensJosn | Object | {} | 截图配置 |
方法 (Methods)
通过 ref 调用组件方法:
<sy-new-jessibuca ref="playerRef" />
<script setup>
const playerRef = ref(null)
// 播放/暂停
playerRef.value?.play()
// 获取播放状态
const isPlaying = playerRef.value?.playing()
// 获取全屏状态
const isFullscreen = playerRef.value?.fullsing()
// 获取音量值(0-1)
const volume = playerRef.value?.volumeing()
// 获取播放器实例
const instance = playerRef.value?.maining()
// 关闭播放器
playerRef.value?.close()
// 销毁播放器
playerRef.value?.destroy()
// 静音
playerRef.value?.mute()
// 取消静音
playerRef.value?.cancelMute()
// 进入全屏
playerRef.value?.enterFullscreen()
// 退出全屏
playerRef.value?.exitFullscreen()
// 重试播放
playerRef.value?.handleRetry()
// 设置播放倍速
playerRef.value?.setPlaybackRate(1.5) // 1.5倍速
// 画中画模式
playerRef.value?.handlePictureInPicture()
</script>
事件 (Events)
| 事件名 | 说明 | 参数 |
|---|---|---|
| @load | 播放器加载完成 | - |
| @log | 日志信息 | data |
| @error | 错误信息 | error |
| @timeout | 超时 | timeout |
| @playing | 播放状态变化 | isPlaying (boolean) |
| @printscreen | 截图事件 | - |
| @tapTbar | 标题栏点击 | - |
| @volume | 音量变化 | volume (0-1) |
| @openFulls | 打开全屏 | - |
| @closeFulls | 关闭全屏 | - |
⌨️ 快捷键支持
| 快捷键 | 功能 |
|---|---|
空格键 |
播放/暂停 |
↑ |
增加音量 |
↓ |
减少音量 |
F |
全屏/退出全屏 |
ESC |
退出全屏 |
🎨 自定义内容
组件支持通过插槽自定义内容:
<sy-new-jessibuca :url="videoUrl">
<!-- 自定义内容,建议使用 position: absolute 定位 -->
<view class="custom-overlay">
<text>自定义内容</text>
</view>
</sy-new-jessibuca>
<style>
.custom-overlay {
position: absolute;
top: 10px;
left: 10px;
z-index: 100;
}
</style>
⚙️ 配置说明
H5 平台使用 jessibuca.js 实现完整功能,支持:
核心功能
- WebSocket 流播放(ws-raw、ws-flv)
- HTTP-FLV 流播放
- 自动播放支持
- 截图功能
- 详细的统计信息
- 自定义解码器路径
播放控制
- 播放/暂停控制(控制栏按钮 + 快捷键)
- 音量控制(滑块 + 静音按钮)
- 全屏播放(支持旋转屏幕)
- 快捷键操作
- 倍速播放(0.5x - 2.0x)
状态显示
- 网络状态实时显示(未连接、连接中、已连接、网络较差、网络良好、网络优秀)
- 播放质量智能评估(根据 FPS、码率、缓冲自动判断)
- 统计信息显示(FPS、码率、缓冲等)
- 加载提示和错误提示
其他功能
- 画中画模式(提示:jessibuca 使用 canvas 渲染,原生画中画仅支持 video 元素)
- 自定义样式
- 错误重试
📄 许可证
MIT

收藏人数:
下载插件并导入HBuilderX
下载示例项目ZIP
赞赏(16)
下载 1550
赞赏 16
下载 13146471
赞赏 1843
赞赏
京公网安备:11010802035340号