CreatorCreator
首页
快速上手
  • 中文简体
  • English
首页
快速上手
  • 中文简体
  • English
  • Creator

    • 快速上手
  • Stream Dock

    • 插件SDK
    • 图标包

      • 概述
      • 术语
      • 创建图标包
      • 图标规格
    • 场景配置

      • 什么是场景配置?
      • 导出
      • 使用案例
  • mPanel

    • 插件SDK
  • Cpp SDK

    • 概述
    • 依赖安装
    • 设备管理器
    • StreamDock 基类
    • 通信传输
    • 示例
    • API参考
    • 源代码
  • Python SDK

    • 概述
    • 依赖安装
    • 设备管理器
    • StreamDock 基类
    • API 参考
    • 示例
    • 源代码
  • Windows-WebSocket SDK

    • 概述
    • 快速上手
    • 发送的事件
    • 接收的事件
    • 源代码
  • 支持

    • 帮助和错误报告

快速上手

准备工作

在开始使用 StreamDock SDK 之前,请确保您已经:

  1. 下载并安装了 StreamDock SDK
  2. 连接了您的 StreamDock 设备到电脑
  3. 准备好您想要控制的应用程序

启动 SDK

方式一:手动启动

  1. 找到 WebsocketSDK.exe 文件
  2. 双击运行或在命令行中执行:
    WebsocketSDK.exe -port 9002
    
    (其中 9002 是 WebSocket 端口号,可以自定义)

方式二:程序中启动

如果您希望在应用程序中自动启动 SDK,可以使用以下代码:

const { execFile } = require('child_process');
// 设置WebSocket端口号
const port = 9002;
execFile('WebsocketSDK.exe', ['-port', port], (error, stdout, stderr) => {
    if (error) {
        console.error('启动失败:', error.message);
        return;
    }
    console.log('SDK已启动');
});

连接设备

启动 SDK 后,您可以通过 WebSocket 连接来控制您的 StreamDock 设备。

JavaScript 示例

const ws = new WebSocket('ws://127.0.0.1:9002');
let devicePath = null;

ws.onopen = () => {
    console.log("WebSocket 连接已建立");
};

ws.onmessage = (e) => {
    const response = JSON.parse(e.data);

    // 保存设备路径
    if (response.payload && response.payload.Path) {
        devicePath = response.path;
    }

    console.log("收到消息:", response);

    // 处理设备连接事件
    if (response.event === "deviceDidConnect") {
        console.log("设备已连接:", response.payload);
        // 连接成功后,发送读取事件以监听设备操作
        ws.send(JSON.stringify({
            "event": "read",
            "path": response.path
        }));
    }

    // 处理按键输入事件
    if (response.event === "read") {
        console.log("按键事件:", response.payload);
    }
};

ws.onerror = (error) => {
    console.error("WebSocket 错误:", error);
};

ws.onclose = () => {
    console.log("连接已关闭");
};

Python 示例

import asyncio
import websockets
import json

async def streamdock_client():
    uri = "ws://127.0.0.1:9002"
    async with websockets.connect(uri) as websocket:
        # 接收消息
        while True:
            message = await websocket.recv()
            data = json.loads(message)
            print(f"收到消息: {data}")
            
            if data.get("event") == "deviceDidConnect":
                path = data.get("path")
                # 发送读取命令
                await websocket.send(json.dumps({
                    "event": "read",
                    "path": path
                }))

# 运行客户端
asyncio.get_event_loop().run_until_complete(streamdock_client())

下一步

连接成功后,您可以:

  1. 设置设备背景图片
  2. 自定义按键图标
  3. 调整设备亮度
  4. 监听按键操作

详细操作请参考 发送的事件 和 接收的事件 文档。

Last Updated:
Contributors: JKWTCN
Prev
概述
Next
发送的事件