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

    • 快速上手
  • Stream Dock

    • 插件SDK
    • 图标包

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

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

    • 插件SDK
  • Linux StreamDock SDK

    • Cpp SDK

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

      • 概述
      • 依赖安装
      • 设备管理器
      • StreamDock 基类
      • StreamDock293
      • 示例
      • 源代码
  • Windows StreamDock SDK

    • WebSocket SDK

      • 概述
      • 快速上手
      • 发送的事件
      • 接收的事件
    • Cpp SDK

      • 概述
      • 依赖安装
      • 设备管理器
      • StreamDock 基类
      • StreamDock293
      • 通信传输
      • 示例
      • 源代码
  • 支持

    • 帮助和错误报告

示例

下面是一个完整的示例,操作StreamDock设备。

#include <iostream>
#include "hidapi.h"
#include "streamDock.h"
#include "tranSport.h"
#include "streamDock293.h"
#include "DeviceManager.h"
#include <thread>
#include <unistd.h>

void fun(streamDock *s)
{
    while (1)
    {
        unsigned char *buf = s->read();
        std::cout << buf << "  " << buf + 5 << " ";
        std::cout << (int)buf[9] << " ";
        std::cout << (int)buf[10] << "\n";
    }
}

int main()
{
    DeviceManager *manager = new DeviceManager();
    auto streamDocks = manager->enumerate();
    std::cout << "发现" << streamDocks->size() << "台设备" << "\n";
    // 开线程监听设备插拔
    std::thread t(&DeviceManager::listen, manager);

    auto it = streamDocks->begin();
    auto s = it->second;
    s->open();
    // 唤醒屏幕
    s->wakeScreen();
    // 开启线程持续获取设备反馈的信息
    std::thread t1(fun, s);
    // 设置屏幕亮度
    s->setBrightness(100);
    sleep(4);
    std::string path = "hy.png";
    // 设置设备背景图片
    s->setBackgroundImg(path);
    sleep(4);
    // 清空所有按键图标
    s->clearAllIcon();
    // 设置指定按键图标
    s->setKeyImg("3.png", 2);
    sleep(4);
    // 清空指定按键图标
    s->cleaerIcon(1);

    t.join();

    t1.join();
}
Last Updated:
Contributors: Heart
Prev
通信传输
Next
源代码