我正在尝试将一些代码移植到 Qt 6 的重新设计的 QtMultimedia 框架中,并遇到了很多 API 消失的问题。
其中之一是 QCameraViewfinder,据我了解,它是当前 QCamera 图像馈送的简单查看器。它曾经是 QVideoWidget 的子类,现在仍然存在,它的文档说明了以下内容:
将 QVideoWidget 附加到 QMediaPlayer 或 QCamera 允许它显示该对象的视频或图像输出。
player = new QMediaPlayer; player->setSource(QUrl("http://example.com/myclip1.mp4")); videoWidget = new QVideoWidget; player->setVideoOutput(videoWidget); videoWidget->show(); player->play();
注意:一次只能将一个显示输出附加到媒体对象。
问题是,没有办法做 QCamera::setVideoOutput(QVideoWidget*) 因为该功能不存在。我也找不到连接两者的替代 API。这是他们忘记提供的东西还是我错过了什么?我查看了相关类的源代码和文档,但终其一生都找不到能够让我简单了解 QCamera 当前视频源的魔法咒语。