Qt 程序打包之后放入Qt5Multimedia.dll还是找不到设备列表

现象:以下代码找不到设备列表

// 获取摄像头列表信息,多摄像头时可以选择
void CameraSelect::getDevices(){
    const QList cameras = QCameraInfo::availableCameras();
    for (int i=0; i< cameras.size(); i++) {
        QCameraInfo cameraInfo = cameras.at(i);
        int cameraIdx = i;
        QString name=cameraInfo.deviceName();// 设备名称
        Q_UNUSED(name);
        QString desc = cameraInfo.description();// 设备描述
        ui->comboBox->addItem(QString("%1---%2").arg(cameraIdx).arg(desc));
    }
}

Qt 程序打包之后放入Qt5Multimedia.dll还是找不到设备列表_第1张图片

原因:库文件或媒体插件没放全活。

解决方案:

放入插件到exe目录下,路径为对应编译器下的plugin文件夹,找到mediaservice文件夹:

Qt 程序打包之后放入Qt5Multimedia.dll还是找不到设备列表_第2张图片

 放入之后:

 Qt 程序打包之后放入Qt5Multimedia.dll还是找不到设备列表_第3张图片

Qt 程序打包之后放入Qt5Multimedia.dll还是找不到设备列表_第4张图片

 

你可能感兴趣的:(图像处理,qt)