Suis-je en train d'ouvrir la caméra pour prendre une photo, mais l'utilisateur a la possibilité d'arrêter la caméra s'il ne veut plus capturer quelque chose, alors j'ai un bouton de fermeture qui destiné à fermer la caméra, de sorte que l'aperçu de la caméra doit être arrêté.L'appareil d'enregistrement vidéo est préempté par une autre application immersive
Si j'ouvre la caméra, fermer, ouvrir à nouveau, je vais faire l'exception suivante une fois que le bouton de fermeture est cliqué pour la deuxième fois:
System.Runtime.InteropServices.COMException: 'The video recording device is preempted by another immersive application.
Je ne sais pas, comment la caméra de prévisualisation devrait être arrêté, plus de UWP docs dit ici: https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/simple-camera-preview-access
le code pour arrêter l'aperçu de la caméra:
private async Task CleanupCameraAsync()
{
if (_mediaCapture != null)
{
if (_isPreviewing)
{
await _mediaCapture.StopPreviewAsync();
}
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal,() =>
{
CameraPreviewControl.Source = null;
if (_displayRequest != null)
{
_displayRequest.RequestRelease();
}
_mediaCapture.Dispose();
});
}
}
J'ai oublié de mentionner que j'ouvre l'écran de la caméra dans une page différente qui est dans un élément popup. Et j'envoie des messages en utilisant la lumière MVVM pour démarrer/arrêter, afficher/masquer l'écran de la caméra. – mbob
@mbob quel élément popup? Vouliez-vous dire [this] (https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.primitives.popup) élément? Comment envoyez-vous des "messages" en utilisant la lumière MVVM? Sans reproduire votre problème, nous ne pourrions pas vous aider. –
oui, ce genre de popup – mbob