Когда я запускаю приложение локально, оно показывает камеру, но когда то же приложение запускается в общей папке, камера пропадает.
Я проверил разрешения Windows и ничего не нашел. Брандмауэры и антивирусы отключены. Общий ресурс находится в том же домене, и я получаю к нему доступ от того же пользователя, что и локально.
Кто-нибудь знает, как это исправить? установка локально невозможна.
Код: Выделить всё
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();

Работа в Windows 11 и использование Qt6.9.1 с Visual Studio 2022
Обновить 22-01-2026
Я обнаружил, что для работы "multimedia/windowsmediaplugin.dll" должен находиться в локальной системе.
Я сделал это, создав в локальной системе папку со следующими файлами:
- "platforms/qwindows.dll"
- "multimedia/windowsmediaplugin.dll"
- application.exe
Теперь это работает, но когда я удалю файл "multimedia/windowsmediaplugin.dll" из локальной папки, он будет перестаньте работать.
Я попытался разместить «multimedia/windowsmediaplugin.dll» на общем ресурсе с необходимыми библиотеками Windows. Но это не помогло.

Подробнее здесь: https://stackoverflow.com/questions/798 ... red-folder
Мобильная версия