LeviosaSDK应用功能演示

融合AI,让您的蓝牙设备智能起来

视频播放演示

说明: 演示视频仅做为功能测试使用,解析添加到列表的第三方素材不被存储。

添加视频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()

浮窗按钮使用说明:

  1. 页面右下角点击⚙️图标打开浮窗菜单
  2. 连接蓝牙设备后,按钮2将变为可用状态
  3. 点击按钮2随机发送一个测试蓝牙指令
  4. 点击按钮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() - 初始化SDK
  • destroy() - 销毁SDK实例
  • getStatus() - 获取当前状态
  • log(message) - 调试日志输出