
声云uMouse智能鼠标SDK接入指南C、Python、C#、Node.js四语言调用纯C ABI动态库【免费下载链接】sonicloud_opensdk声云录音卡 Recorder 是一套面向开发者和行业客户的智能录音硬件接入方案。 项目以录音卡片硬件为核心开放 BLE 协议 SDK 及 Android、iOS、鸿蒙、Flutter 接入示例同时提供 Windows/macOS 桌面端 Demo支持设备连接、录音控制、实时音频、文件传输、OTA 升级和语音转写等能力帮助开发者快速将录音硬件接入自己的 App、桌面软件或行业系统。 如需获取硬件规格、样机、完整协议、SDK 资料或定制服务请联系安徽声云项目地址: https://gitcode.com/gh_mirrors/recorder24/sonicloud_opensdk声云uMouse智能鼠标SDK以「一个纯 C ABI 动态库 一个头文件」的极简形态交付支持 C、C、C#、Python、Node.js 等主流语言直接调用覆盖 USB 与 BLE 双通道向上输出原始按键事件、JSON 离散事件和 16 kHz PCM 音频流。本指南带你 5 分钟跑通 Demo并完成四语言集成、平台选包与避坑。️ SDK 能做什么三类数据输出SDK 负责把硬件数据「忠实搬运」出来不做任何业务映射——M 键按下后触发截图还是语音转文字完全由你的程序决定输出类型内容典型用途原始按键事件哪个键 什么动作按下/抬起/长按/单击自定义按键业务离散事件JSON序列号、电量、DPI 变更、会议状态设备管理与鉴权PCM 音频流16 kHz / 16 bit / 单声道 / 小端语音识别、翻译核心设计原则SDK 只搬运数据业务逻辑由调用方实现。这样对外接口可以长期稳定硬件升级只需在 JSON 里新增字段。 平台选包二进制不互通按目标系统选各平台动态库针对目标系统编译不可互换目标系统架构连接方式交付包目录Windowsx64USB BLEwindows/统信 UOSx86 / ARM64USB BLEuosx86/、UosArm64/麒麟 Kylinx86 / ARM64USB BLEkylinx86/、KylinArm64/通用 Linuxx86USB BLEfdx86/macOSx86_64 / Apple SiliconUSB BLEMacOS/以 Windows 包为例结构为include/umouse_sdk.h唯一对外头文件bin/*.dll主库与 FFmpeg 运行期依赖lib/uMouseSdk.libMSVC 链接用导入库Linux/macOS 包则是include/lib/libuMouseSdk.so|.dylib并附带umouse_demo最小可执行示例。⚡ 标准调用顺序四语言通用无论哪种语言核心流程一致注册回调 →um_sdk_init()→SDK 自动探测设备并回调→ 业务处理 →um_sdk_close()⚠️ 两个必记要点回调必须在um_sdk_init()之前注册否则可能错过设备连接等早期事件回调内严禁长时间阻塞、反向调用um_sdk_close()会死锁推荐「回调只拷贝、业务在工作线程处理」。拿到包后建议先运行自带的umouse_demo验证硬件通路运行后应打印[connected] … via USB、[message] … deviceInfo与音频数据音频会写入out.pcm可用 Audacity 按Signed 16-bit PCM / Little-endian / Mono / 16000 Hz导入播放。C / C直接链接CMake 消除平台差异将include/加入头文件搜索路径Windows 链接uMouseSdk.lib并把 dll 放到可执行文件同目录Linux/macOS 链接-luMouseSdk。最小示例um_register_connected(on_connected); // 1. init 前注册回调 um_register_disconnected(on_disconnected); um_register_message(on_message); um_register_audio(on_audio); um_sdk_init(1); // 2. 初始化debug1 开日志 /* 3. 业务运行…… */ um_sdk_close(); // 4. 释放幂等CMake 工程三行搞定链接target_include_directories指向includetarget_link_directories指向libtarget_link_libraries链接uMouseSdk。完整含音频落盘的示例见 第三方接入说明.md 附录 A。C# (.NET)P/Invoke 零依赖调用通过DllImport直接声明um_sdk_init、um_register_*等导出函数无需第三方库。Windows 库名为uMouseSdkLinux 改libuMouseSdk.somacOS 改.dylib后缀。关键避坑用于 P/Invoke 的回调委托必须存为字段或静态成员否则 CLR 的 GC 会回收它SDK 回调时访问已释放内存直接崩溃。Pythonctypes 标准库即可用ctypes.CDLL加载动态库CFUNCTYPE定义回调签名后注册lib ctypes.CDLL(./libuMouseSdk.so) # 按平台改库名 ON_MESSAGE CFUNCTYPE(None, c_char_p, c_char_p) ON_MESSAGE def on_message(device_id, json): print(device_id.decode(), json.decode()) lib.um_register_message(on_message) # 保持引用存活 lib.um_sdk_init(1)⚠️ 用CFUNCTYPE装饰的回调对象必须保持引用存活写成模块级变量即可不要作为临时变量传给 register——这是 Python 集成闪退的头号原因。Node.js / Electronkoffi 加载动态库Node 生态推荐用支持回调注册的koffi库koffi.load()加载动态库lib.func()声明函数签名回调需用koffi.register()注册并保持引用即可在 JS 中解析um_on_message上报的 JSON 事件。 按键事件协议速查keyEvent字段一览所有离散事件统一为{type:..., ...}结构扩展性由type字段保证向后兼容key含义可用actionspeech语音键down/uptranslation翻译键down/upmM 键index标识第几个down/hold/upaiAI 键down/up/clickcapture截图键click示例收到{type:keyEvent,key:speech,action:down}开始录音action:up时停止并送识别收到{key:m,action:hold,index:1}触发第一个 M 键的自定义功能。此外还有deviceInfo序列号/电量/连接类型、dpiChanged、meetingCreated/Destroyed等事件。 平台注意事项与高频坑位WindowsuMouseSdk.dll、avcodec-58.dll、avutil-56.dll需与.exe同目录或可被PATH找到报缺VCRUNTIME140.dll时安装 VC 运行库即可。LinuxUOS/麒麟USB HID 设备节点默认仅 root 可读写必须一次性安装 udev 规则按 VID/PIDabc9:ca89匹配hidraw*并设MODE0666否则只能sudo运行动态链接依赖libavcodec、libavutil、libudev、libdbus-1UOS/麒麟通常软件源可装。macOS需要系统 FFmpeg 权限提示蓝牙、输入监听、辅助功能做 codesign 公证时libuMouseSdk.dylib须一并纳入签名。数据生命周期回调中的device_id、json、pcm指针仅在回调期间有效需要留存立即strdup/memcpy。验证加载调用um_sdk_version()应返回0.1.0返回 NULL 或崩溃说明动态库未正确加载。 延伸阅读完整 API 参考、平台注意事项、FAQ 与附录示例第三方接入说明.mdSDK 模块划分、事件码体系与按键定制规则ReadMe.md各平台交付包Windows / UOS / 麒麟 / macOS 等uMouse/ 遇到集成问题请用um_sdk_init(1)打开内部日志附带目标平台、SDK 版本号与复现步骤反馈可快速定位是权限、依赖还是调用时序问题。【免费下载链接】sonicloud_opensdk声云录音卡 Recorder 是一套面向开发者和行业客户的智能录音硬件接入方案。 项目以录音卡片硬件为核心开放 BLE 协议 SDK 及 Android、iOS、鸿蒙、Flutter 接入示例同时提供 Windows/macOS 桌面端 Demo支持设备连接、录音控制、实时音频、文件传输、OTA 升级和语音转写等能力帮助开发者快速将录音硬件接入自己的 App、桌面软件或行业系统。 如需获取硬件规格、样机、完整协议、SDK 资料或定制服务请联系安徽声云项目地址: https://gitcode.com/gh_mirrors/recorder24/sonicloud_opensdk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考