视频播放演示
说明: 演示视频仅做为功能测试使用,解析添加到列表的第三方素材不被存储。
添加视频URL
提交URL后,系统将分析视频并添加到播放列表。[功能暂未上线]
视频播放列表
播放列表为空,请通过上方输入框添加视频。
演示系统操作说明
1
打开硬件设备并开启蓝牙
确保您的硬件设备(如Accio、Aogu等)已开机并处于可被发现状态。同时,在计算机系统中打开蓝牙适配器。
2
连接蓝牙设备
点击页面右下角的 浮标图标,在弹出的浮窗菜单中选择 第1个按钮(蓝牙连接按钮)来启动蓝牙设备搜索。
3
选择设备并连接
在弹出的蓝牙设备列表中,选择对应的设备名称(如Accio、Aogu等),系统将自动连接该设备。连接成功后会有弹窗提示。
4
测试设备指令
连接成功后,再次点击右下角浮标图标,选择 第2个按钮(测试指令按钮),系统将随机发送一条测试蓝牙指令到设备,用于验证通信是否正常。
注意事项
- 硬件要求:系统必须配备蓝牙适配器,且浏览器已启用WebBluetooth权限(通常首次连接时会提示授权)。
- 演示系统提示:演示系统中的弹窗提示(如连接成功、指令发送等)仅为演示目的,在正式应用中不会出现。
- 设备兼容性:系统支持 Accio、Aogu、Sam Neo、LQ-JX-2309 等设备,其他设备适配请联系管理员。
- 故障排除:如果无法连接,请检查设备是否处于可被发现状态,或尝试刷新页面后重试。
Leviosa SDK 集成
SDK 功能
Leviosa SDK 提供了视频播放监控与蓝牙设备控制的无缝集成:
- 视频指令触发:根据视频播放时间点自动发送蓝牙指令
- 蓝牙设备连接:支持 Accio、Aogu、Sam Neo 等设备
- 实时监控:监控视频播放进度并触发相应动作
- 浮标控制:页面右下角提供便捷的蓝牙设备控制浮标
自动集成
当前页面已自动集成 Leviosa SDK:
SDK状态检测中...
蓝牙状态检测中...
查看页面右下角的浮标图标 ⚙️ 可快速访问蓝牙控制功能
SDK 集成指南
1
引入SDK文件
在HTML文件中引入Leviosa SDK脚本:
<script src="leviosa-sdk.js"></script>
2
初始化SDK实例
使用配置选项创建SDK实例并初始化:
注意:蓝牙配置(服务UUID、特征值UUID、支持的设备、命令库)现已固定在SDK内部,不再支持通过配置选项自定义。SDK默认支持Accio、Aogu、Sam Neo等设备,如需支持其他设备请修改SDK源代码。
const sdk = new LeviosaSDK({
// 基本配置
targetElement: '#app',
debug: true,
videoSelector: '.video-monitor-target',
showVideoNotifications: true,
// 浮标控制(默认启用)
floatingControls: true,
// 模拟模式(无真实蓝牙设备时使用)
simulateBluetooth: true,
// 视频指令JSON文件的基础路径
videoCommandBasePath: '/data'
});
sdk.init().then(success => {
console.log('SDK初始化:', success ? '成功' : '失败');
// 监听SDK事件
sdk.on('videoCommand', (event) => {
console.log(`视频指令触发: ${event.detail.videoId} 在 ${event.detail.time}秒`);
});
sdk.on('bluetoothConnected', () => {
console.log('蓝牙设备已连接');
});
sdk.on('bluetoothDisconnected', () => {
console.log('蓝牙设备已断开');
});
});
3
添加视频到播放列表
添加视频并关联指令配置文件:
sdk.addVideo({
src: 'videos/sample.mp4',
title: '示例视频',
description: '带有时间点指令的视频',
jsonPath: '/data/sample.json' // 指令配置文件路径
});
指令配置文件示例 (sample.json):
[
{
"t": 3.2, // 时间点(秒)
"cmd": "510800000304" // 蓝牙指令
},
{
"t": 9.2,
"cmd": "510800000508"
},
{
"t": 15.7,
"cmd": "510800000712"
}
]
4
连接蓝牙设备
调用连接方法并监听状态变化:
// 连接蓝牙设备
sdk.connectBluetooth();
// 监听蓝牙状态变化
sdk.on('bluetoothConnected', () => {
console.log('蓝牙已连接');
});
sdk.on('bluetoothDisconnected', () => {
console.log('蓝牙已断开');
});
5
蓝牙指令发送
注意:为安全考虑,手动发送蓝牙指令功能已被禁用。所有蓝牙指令只能通过以下方式发送:
- 视频时间点触发:视频播放到特定时间点时自动发送配置的指令
- 浮窗按钮控制:页面右下角的浮窗按钮(按钮2)随机发送测试指令
- 暂停自动触发:视频暂停时自动发送停止指令(通过
sendPauseCommand())
浮窗按钮使用说明:
- 页面右下角点击⚙️图标打开浮窗菜单
- 连接蓝牙设备后,按钮2将变为可用状态
- 点击按钮2随机发送一个测试蓝牙指令
- 点击按钮3停止设备并断开蓝牙连接
6
全局快捷对象(可选)
SDK会自动创建全局快捷对象,简化调用:
// 使用全局对象
Leviosa.init({ ... });
Leviosa.connectBluetooth();
Leviosa.disconnectBluetooth();
// 注意:sendBluetoothCommand() 方法已被禁用
// 蓝牙指令只能通过视频时间点触发或浮窗按钮发送
// 或使用别名
leviosa.connectBluetooth();
主要API方法
视频控制
addVideo(videoInfo)- 添加视频到播放列表playVideo(videoIndexOrId)- 播放指定视频pauseVideo()- 暂停当前视频
蓝牙控制
connectBluetooth()- 连接蓝牙设备disconnectBluetooth()- 断开蓝牙连接sendPauseCommand()- 发送暂停指令(视频暂停时自动调用)- 手动发送指令功能已禁用,请使用浮窗按钮或视频时间点触发
事件监听
on('videoCommand', callback)- 视频指令触发on('bluetoothConnected', callback)- 蓝牙连接成功on('bluetoothDisconnected', callback)- 蓝牙断开连接on('videoPlaying', callback)- 视频开始播放on('videoPaused', callback)- 视频暂停
实用方法
init()- 初始化SDKdestroy()- 销毁SDK实例getStatus()- 获取当前状态log(message)- 调试日志输出