Windows QT 无法获取摄像头

我在编译QT版本的demo时遇到了该问题,问题报错如下:

于是我尝试注释掉该处,最后运行时,运行结果如下:

请问有解决该问题的办法么?

除此之外,想要咨询一个问题,如果在解决该问题的前提下,我想实现增加一个电子白板功能,应该在那个文件中添加我的代码,是否需要新建一个whiteboard.cpp?以及是否netless提供windows的api服务呢?

还有一个想问的问题,如果我想在demo的基础上优化视频的分辨率,或者语音的降噪率,是否可以做到呢?应该在哪部分文件中实现呢?

进一步的问题:

这里面的nRet代表着什么呀?

image
以及这里面的*e没有作用,为什么要在这里用到呢?

我先倒着一个个回你,鼠标的事件那个可能有其他用处暂时留下的接口,不影响的话不用管他。
nRet是指视频流回退的策略,代表了网络情况下可以降低一些配置保证通话的正常存在。
在demo基础上优化分辨率的话可以你手动调用接口来调节分辨率但是这个算不上优化,nWidth和nHeigth切一下这种, 降噪不行,已经有内置的降噪算法了

netless的api可以问下他们来提供,demo里白板这块儿都掏空了,方便你自己选择第三方的厂商来合作

也可以咨询他们代码如何简单集成

第一个问题的话,是直接跑demo没做啥改动就出现的错误吗,我看断点的位置是在release方法上对不

非常感谢您。
第一个问题的话我只是配置了基本的SDK环境,以及pro里lib的内容为:
win32: {
INCLUDEPATH += $${AGORASDKPATH}/include
LIBS += -L$${AGORASDKPATH}/$${SDKLIBPATHNAME} -lagora_rtc_sdk
LIBS += -lUser32 //原本为LIBS += -User32.lib

再次之后我修改了一些warning,例如

qsText.asprintf(" uid:%u",m_uidr2); //原本为sprintf("");

然后构建之后显示了如第一个问题的报错。

在注释之后,运行成功,但是出现了无法获取摄像头的现象。除此之外,testing也暂时无法使用。点击之后,一直处于testing的界面,并没有result。

您好,请问您可以帮忙再看下么。。我自己试了很多次都没有找到具体解决的办法

我看了下你的问题1:
出现collect2:ld returned 1 exit status错误的原因,大概分为以下三种情况:

1、编译成功的例子在后台执行,有时一闪而过,如果再次build ,则会提示上述错误。

解决方法:打开任务管理器,找到相应的exe进程,关闭即可; 或者直接关闭QtCreator。

2、没有编译成功的情况下,最常见情况是程序本身需要include的头文件被遗漏了

解决方法:细心查找基类所用的头文件,include之后即可。

3、.h文件中相关的槽函数在cpp文件中没有定义

解决方法:查找遗漏的槽函数,根据需要,具体的定义。(碰到过一回,很关键)

4、.h文件中声明了全局变量,.cpp文件的函数里面使用了该全局变量

解决方法:.cpp文件外面没有初始化全局变量,初始化即可

您好,您这个方法我已经试过了,我已经检查了所有的拼写问题。依然还是存在这个问题:
下面是编译的输出:
debug/agoraobject.o: In function `ZN12CAgoraObjectD2Ev’:

G:\SVNwc\code\branches\QT video branch\final porject/LC-VideoCall/VideoCall/agoraobject.cpp:117: undefined reference to `_imp___ZN5agora3rtc10IRtcEngine7releaseEb’

collect2.exe: error: ld returned 1 exit status

mingw32-make[1]: *** [Makefile.Debug:151: debug/OpenVideoCall.exe] Error 1

mingw32-make: *** [Makefile:45: debug] Error 2

mingw32-make[1]: Leaving directory ‘G:/SVNwc/code/branches/QT video branch/final porject’

16:49:53: 进程"G:\qt\Tools\mingw730_32\bin\mingw32-make.exe"退出,退出代码 2 。

Error while building/deploying project OpenVideoCall (kit: Desktop Qt 5.14.2 MinGW 32-bit)

When executing step “Make”

16:49:53: Elapsed time: 00:03.

我在网上进行了很多搜索,并且都已经尝试过了,到目前为止并没有一个很好的解决方案:sweat_smile:我使用的demo是QT版本的windows video call,如果您方便的话是否可以帮忙跑下看看呢?

提出该想法的原因是:我在网上看到有一些观点认为是QT MinG32不支持该编译,所以想请您试一下

我大概能确定是链接问题,但是并没有一个很好的解决方案

我确认下

是不支持 MinG32,确认了

那应该怎么解决呢?我应该如何才能使用这个demo呀?

我将这个项目作为我的毕业设计,这对我真的很重要,请您务必帮我,谢谢了

我应该使用哪种QT编译器才能成功跑通呢?我现在的项目已经在这个的基础上做了很多了,如果要更换的话我真的很绝望。。

我问问有什么同类型的替代,项目是需要模拟了Linux下GCC的开发环境吗

一般是VS+Qt