Wenn ich meine Anwendung lokal ausführe, wird die Kamera angezeigt, aber wenn dieselbe Anwendung in einem freigegebenen Ordner ausgeführt wird, ist die Kamera verschwunden.
Ich habe die Windows-Berechtigungen überprüft und nichts gefunden. Firewalls und Virenscanner sind alle ausgeschaltet. Die Freigabe befindet sich in derselben Domäne und ich greife mit demselben Benutzer darauf zu, den ich lokal verwende.
Weiß jemand, wie man das beheben kann? Eine lokale Installation ist keine Option.
Code: Select all
QString txt("");
QCameraPermission cameraPermission;
txt += "-------------------\n";
switch (qApp->checkPermission(cameraPermission))
{
case Qt::PermissionStatus::Granted:
txt += "Camera permission already granted. Starting camera...\n";
//startCamera(); // Your function to initialize and use the camera
break;
case Qt::PermissionStatus::Denied:
txt += "Camera permission denied. Cannot start camera.\n";
// Show a message to the user
break;
case Qt::PermissionStatus::Undetermined:
txt += "Camera permission is undetermined. Requesting now...\n";
// Request permission, passing 'this' and the slot for the callback
//qApp->requestPermission(cameraPermission, this, &CameraWidget::permissionGranted);
break;
}
txt += "-------------------\n\n";
const QList audioDevices = QMediaDevices::audioInputs();
for (const QAudioDevice &device : audioDevices)
{
txt += "-------------------\n";
txt += "ID: " + device.id() + "\n";
txt += "Description: " + device.description() + "\n";
txt += (QString)"Is default: " + (device.isDefault() ? "Yes" : "No") + "\n";
txt += "-------------------\n";
}
txt += "\n";
const QList videoDevices = QMediaDevices::videoInputs();
for (const QCameraDevice &device : videoDevices)
{
txt += "-------------------\n";
txt += "ID: " + device.id() + "\n";
txt += "Description: " + device.description() + "\n";
txt += (QString)"Is default: " + (device.isDefault() ? "Yes" : "No") + "\n";
txt += "-------------------\n";
}
QMessageBox msgBox;
msgBox.setWindowTitle("Fatal error");
msgBox.setText(txt);
msgBox.setInformativeText("Shutting down!");
msgBox.setIcon(QMessageBox::Critical);
msgBox.setStandardButtons(QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Cancel);
return msgBox.exec();

Läuft unter Windows 11 und verwendet Qt6.9.1 mit Visual Studio 2022
Mobile version