Как мне остановить камеру UWP, требующую разрешения на микрофон - PullRequest
1 голос
/ 17 февраля 2020

Итак, я инициализирую элемент MediaCapture в своем приложении UWP на устройстве Surface Pro следующим образом:

            // Create MediaCapture and its settings
            mediaCapture = new MediaCapture();
            var mediaInitSettings = new MediaCaptureInitializationSettings
            {
                VideoDeviceId = cameraDevice.Id,
                AudioDeviceId = string.Empty,
                //StreamingCaptureMode = StreamingCaptureMode.Video,
                //PhotoCaptureSource = PhotoCaptureSource.Photo
            };

            // Initialize MediaCapture
            try
            {
                await mediaCapture.InitializeAsync(mediaInitSettings);
                ....
            }

в строке InitializeAsync приложение запрашивает возможности камеры и микрофона.

Теперь мне не нужна функция микрофона, так как я только снимаю фотографии, и многие из моих пользователей отказывают в доступе к микрофону, говоря: «Зачем вам нужен микрофон, чтобы делать фотографии»

I протестировано с использованием встроенного приложения «Камера» и запрета доступа к микрофону на windows, и это прекрасно работает.

Я посмотрел документацию и там написано:

InitializeAsyn c запустит запрос согласия, чтобы получить разрешение пользователя на доступ приложения к микрофону или камере

Так можно ли остановить приложение, запрашивающее разрешения на микрофон?

1 Ответ

1 голос
/ 17 февраля 2020

Хорошо, мне удалось довольно легко решить эту проблему, изменив StreamingCaptureMode на MediaCaptureInitializationSettings, добавив следующую строку:

StreamingCaptureMode = StreamingCaptureMode.Video

, так что стало:

var mediaInitSettings = new MediaCaptureInitializationSettings
{
     VideoDeviceId = cameraDevice.Id,
     AudioDeviceId = string.Empty,
     StreamingCaptureMode = StreamingCaptureMode.Video,
};
...