Joshua GPBeta
                                            Joshua GPBeta
                                        
                                    居然这么快有新的开发者,你是通过 qml plugin 实现的吗?
先不考虑为什么没有调用你的析构函数。 因为 C艹 的标准没有定义异常退出时的析构处理,即便正常退出能够通知关闭你的外部进程,但是崩溃的时候也无法保证。 所以现在流行的做法是: 1. 服务端主动检查主程序是否仍在运行; 2. `JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE` + `AssignProcessToJobObject()` 再回到你原来的问题,你具体的测试 Qt 版本和 VC-LTL 版本是?
对了,既然你的扩展不得不新起一个进程,我比较推荐你一不做二不休连 QML Plugin 也别写了,直接走 websocket 或者其他网络协议。这样有两个好处: 1. 不用考虑 ABI 兼容问题,即便日后我们升级到 Qt 6 你也不用重新编译 QML Plugin; 2. 如果后面有其他项目需要这个 SMTC 功能,也可以直接复用这些网络接口。 参考项目:https://nvg.dev/Mashiro_Sorata/ADV-Plugin
QML 的确缺了一些浏览器提供的 JS 功能,不过大多用组件补回来了 https://doc.qt.io/qt-5/qml-qtwebsockets-websocket.html 毕竟音频可视化那么大吞吐量的功能都能实现,用来获取 SMTC 信息应该也够用了。目前唯一想到的问题是封面图片的数据,可能要通过本地 `http://` 服务器提供,如果懒的话用临时文件 `file://` 也没有太大问题。 还有因为数据都是全局一致的,SMTCSessionManager 可以使用 [qmlRegisterSingletonType()](https://doc.qt.io/qt-5/qqmlengine.html#qmlRegisterSingletonType) 注册为单例。
尝试重新安装一下厂商提供的声卡驱动
## 暂定的添加第三方扩展 Wiki 页面流程(中文) 1. 新建页面 `Extension:扩展名称` 1. 以 `中文` 编写扩展文档 1. 文档末尾添加分类标记 `[[Category:SAO Utils 扩展]]` 1. 保存后更改页面语言为 `zh-CN - 中文(中国大陆)` ### 翻译文档 #### 对于没有能力为扩展编写 `英语` 或 `日语` 文档的情况 在...
Sorry, e1a60309d320bac926bc2ac4cc5f932030c2406f 是真的能为所欲为的。
@RangerCD 鱼鱼你快动啊
现在为 SAO Utils 添加新的数据源可以通过编写插件实现在挂件上显示新的内容,参考 - [NERvSDK 仓库](https://github.com/NERvGear/NERvSDK) (含插件示例) - [NERvSDK 入门手册](http://nvg.gpbeta.com/library/sdk_tutorial_1.html) - [NERvGear::CDataSource 组件](http://nvg.gpbeta.com/library/class_n_e_rv_gear_1_1_c_data_source.html) - [NERvGear::IDataSource 接口](http://nvg.gpbeta.com/library/struct_n_e_rv_gear_1_1_i_data_source.html) - [NERvGear::IData 接口](http://nvg.gpbeta.com/library/struct_n_e_rv_gear_1_1_i_data.html) 其实现在重写 SAO Utils 2 很大一部分原因就是为了这个——允许用户使用脚本编写扩展。 经过一番寻找,我觉得 QML (可以理解为 Java Script...
SAO Utils 2 已实现脚本功能,支持 JavaScript 和 QML(不知道你还有没有在用?)