Open lifegpc opened 2 years ago
居然这么快有新的开发者,你是通过 qml plugin 实现的吗?
居然这么快有新的开发者,你是通过 qml plugin 实现的吗?
是,结合cpp与C#写的后端通信
先不考虑为什么没有调用你的析构函数。 因为 C艹 的标准没有定义异常退出时的析构处理,即便正常退出能够通知关闭你的外部进程,但是崩溃的时候也无法保证。 所以现在流行的做法是:
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE
+ AssignProcessToJobObject()
再回到你原来的问题,你具体的测试 Qt 版本和 VC-LTL 版本是?
对了,既然你的扩展不得不新起一个进程,我比较推荐你一不做二不休连 QML Plugin 也别写了,直接走 websocket 或者其他网络协议。这样有两个好处:
再回到你原来的问题,你具体的测试 Qt 版本和 VC-LTL 版本是?
与SAO Utils 在用的版本一致
对了,既然你的扩展不得不新起一个进程,我比较推荐你一不做二不休连 QML Plugin 也别写了,直接走 websocket 或者其他网络协议。这样有两个好处:
1. 不用考虑 ABI 兼容问题,即便日后我们升级到 Qt 6 你也不用重新编译 QML Plugin; 2. 如果后面有其他项目需要这个 SMTC 功能,也可以直接复用这些网络接口。
我看看
问一下那些 qml plugin 的定义哪里可以找到
尝试了一下用ws,发现qml的js严重缺少各类API,还是c++ plugin好整一点。
QML 的确缺了一些浏览器提供的 JS 功能,不过大多用组件补回来了
https://doc.qt.io/qt-5/qml-qtwebsockets-websocket.html
毕竟音频可视化那么大吞吐量的功能都能实现,用来获取 SMTC 信息应该也够用了。目前唯一想到的问题是封面图片的数据,可能要通过本地 http://
服务器提供,如果懒的话用临时文件 file://
也没有太大问题。
还有因为数据都是全局一致的,SMTCSessionManager 可以使用 qmlRegisterSingletonType() 注册为单例。
继承QObject的类在退出SAO utils 2时,析构函数没有被调用
我这里需要释放Socket同时必要时杀死C#写的服务器 插件源代码仓库: https://github.com/lifegpc/com.lifegpc.smtc