如何从 qml webgl 获取麦克风到 c++?

How to get mic to c++ from qml webgl?

本文关键字:麦克风 c++ 获取 webgl qml      更新时间:2023-10-16

我正在使用Qt和Qml进行呼叫软件,我需要将麦克风馈送从Qml作为webgl运行到C++端,如果不是使用服务器直接发送到GStreamer。

我已经有一个Qt程序作为客户端,使用GStreamer将音频流推送到服务器。当然,GStreamer不会进入webgl客户端。我发现,您可以从 Qml 获得使用麦克风/相机的权限,但我还没有找到任何实际从那里抓取流的示例。我还检查了WebRTC的使用情况。似乎它可以与Qml一起使用,我找到了一些将其与GStreamer一起使用的示例,但是即使使用这些示例,我也无法将WebRTC和GStreamer的组合一起使用。

所以完整的问题: 如何让 Qml 中的音频作为 webgl 运行?Qt中有没有办法,或者我必须通过WebRTC?如果是这样,有没有比Nirbheek的gstwebrtc演示更简单或更适合初学者的例子来连接WebRTC和GStreamer?

不是我想要的答案,但这最终在我的情况下起作用:

由于C++端也在运行另一个Qt GUI,具体来说,Qml,我 可以将WebEngineView与html和javascript一起使用,永远不会打扰C++ 使用 GStreamer 实现 WebRTC。所以目前我正在运行 PeerJS 在连接与 PeerJS 的信令的两端 服务器介于两者之间。

我更愿意将C++与GStreamer一起使用来连接到WebRTC,但是 我找不到其他简单的方法将浏览器的音频连接到Qt。

编辑:我很抱歉,这个答案最终不起作用。我一直在一台计算机上测试程序,因此我没有意识到WebGL托管的Qml没有在前端运行WebEngineView的Javascript,而是在后端运行。