UWP MediaCapture отказано в доступе к камереC#

Место общения программистов C#
Ответить
Гость
 UWP MediaCapture отказано в доступе к камере

Сообщение Гость »

Я пытаюсь создать проект, который позволит мне подключить камеру, но мне говорят, что мне отказывают в доступе к камере каждый раз, когда программа запускается. Я прочитал руководство по следующей ссылке https://msdn.microsoft.com/en-us/librar ... 43896.aspx и внес некоторые незначительные изменения в код, но эти изменения не должны повлиять на результат.

Код: Выделить всё

    private MediaCapture _mediaCapture;
private bool _isInitialized;

private async Task InitializeCameraAsync()
{
if (_mediaCapture == null)
{
// Get available devices for capturing pictures
var allVideoDevices = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture);

// Get the desired camera by panel
DeviceInformation cameraDevice =
allVideoDevices.FirstOrDefault(x => x.EnclosureLocation != null &&
x.EnclosureLocation.Panel == Windows.Devices.Enumeration.Panel.Back);

// If there is no camera on the specified panel, get any camera
cameraDevice = cameraDevice ?? allVideoDevices.FirstOrDefault();

if (cameraDevice == null)
{
Debug.WriteLine("No camera device found.");
return;
}

// Create MediaCapture and its settings
_mediaCapture = new MediaCapture();

MediaCaptureInitializationSettings mediaInitSettings = new MediaCaptureInitializationSettings {
VideoDeviceId = cameraDevice.Id
};

// Initialize MediaCapture
try
{
await _mediaCapture.InitializeAsync(mediaInitSettings);
_isInitialized = true;
}
catch (UnauthorizedAccessException)
{
Debug.WriteLine("The app was denied access to the camera");
}
catch (Exception ex)
{
Debug.WriteLine("Exception when initializing MediaCapture with {0}: {1}", cameraDevice.Id, ex.ToString());
}

// If initialization succeeded, start the preview
if (_isInitialized)
{
// Figure out where the camera is located
if (cameraDevice.EnclosureLocation == null || cameraDevice.EnclosureLocation.Panel == Windows.Devices.Enumeration.Panel.Unknown)
{
// No information on the location of the camera, assume it's an external camera, not integrated on the device
_externalCamera = true;
}
else
{
// Camera is fixed on the device
_externalCamera = false;

// Only mirror the preview if the camera is on the front panel
_mirroringPreview = (cameraDevice.EnclosureLocation.Panel == Windows.Devices.Enumeration.Panel.Front);
}

await StartPreviewAsync();

}
}
}
Кроме того, я убедился, что моя камера разрешает доступ к приложениям. Есть ли у кого-нибудь идеи, почему это не работает?

Подробнее здесь: https://stackoverflow.com/questions/349 ... -to-camera
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»