gpt4 book ai didi

c++ - QML Camera 的无效/未定义媒体对象属性

转载 作者:搜寻专家 更新时间:2023-10-31 01:43:36 28 4
gpt4 key购买 nike

我正在尝试创建一个用 C++ 定义的 QML 项目,它会在 QML Camera 显示帧之前拦截它们,然后由 VideoOutput 显示。像这样的东西:

Window {
Camera {
id: camera
}

MyFrameinterceptor {
id: myprocessing
source: camera.mediaObject
}

VideoOutput {
id: feedback
source: myprocessing
}
}

根据 this comment , mediaObject property Camera 项可用于访问 Camera 的 C++ 部分。

但是,当我尝试从 QML 访问 mediaObject 时,例如与

Text {
text: qsTr(camera.mediaObject.objectName)
}

我得到一个 TypeError: Cannot read property 'objectName' of undefined当我尝试使用 C++ 中的 camera.mediaObject 属性时,我收到类似的消息,让我认为 mediaObject 未定义、未初始化或不存在。

我是 Qt 的新手,所以我可能会错过一些非常愚蠢的事情,比如启动相机等等......但是我对 MediaPlayer 项目有同样的问题

如何从 C++ 访问 QML 相机的媒体对象?

最佳答案

我也遇到过几次,我是这样解决的:

QObject * obj = rootview->rootObject()->findChild<QObject *>("camera");
QVariant mediaObject = obj->property("mediaObject");
QCamera * camera = qvariant_cast<QCamera *>(mediaObject);

然后我使用 QVideoRendererControl 分配 QAbstractVideoSurface 的子类来处理帧。

关于c++ - QML Camera 的无效/未定义媒体对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24892888/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com