QZXing如何更换摄像头设备

Posted

技术标签:

【中文标题】QZXing如何更换摄像头设备【英文标题】:How to change camera device with QZXing 【发布时间】:2019-02-22 23:40:00 【问题描述】:

我正在尝试在我的客户的项目中使用 QZXing (https://github.com/ftylitak/qzxing)。出于我的目的,它似乎可以阅读二维码。然而,当移动它的客户端设备时,它有两个摄像头,它默认为后置摄像头,这不是我想要的(我没有意识到会有不止一个摄像头)。

我尝试查看 QZXing 的示例项目,但在 qml 中找不到指定或更改相机的地方。我的项目使用的 qml 几乎完全来自 QZXing 示例 (QZXingLive) 项目。

我上网查了一下,几乎没有什么用处。我发现一件事说我需要制作自己的 QML 对象,但由于我对此知之甚少,我认为目前不可能。

我有兴趣用 C++ 编写它,如果有人能指出我正确的方向,我可以选择相机,那将是完美的。我不确定是什么类使 QML 对象均匀,所以我需要一些指导。

有谁知道如何为QZXing更换相机?

【问题讨论】:

这个问题太具体了,我想你应该在 Github 上问。 好吧,我刚在 Github 上问过。谢谢。 【参考方案1】:

要使用默认摄像头以外的其他摄像头,您可以设置CameradevideId property。您可以从QtMultimedia.availableCameras 获取所有可用的设备 ID。

这是文档中的一个示例:

Camera 
    id: camera


VideoOutput 
    anchors.fill: parent
    source: camera


ListView 
    anchors.fill: parent

    model: QtMultimedia.availableCameras
    delegate: Text 
        text: modelData.displayName

        MouseArea 
            anchors.fill: parent
            onClicked: camera.deviceId = modelData.deviceId
        
    

【讨论】:

完美,非常感谢。我什至不知道它的存在。

以上是关于QZXing如何更换摄像头设备的主要内容,如果未能解决你的问题,请参考以下文章

解码器怎么搜索到新装摄像头

如何检查设备中是不是安装了摄像头?

如何强制仅打开设备摄像头以进行视频捕获意图?

如何检查设备是不是有分别用于前置和后置摄像头的闪光灯?

如何在Linux下开发摄像头驱动

如何使用 opencv 获取网络摄像头设备列表?