Compartir a través de


Hospedar una vista previa del escáner de códigos de barras de la cámara en una aplicación para UWP

Requiere Windows 10 versión 1803 o posterior.

En este tema se describe cómo hospedar una vista previa del escáner de códigos de barras de cámara en una aplicación para UWP.

Paso 1: Configurar la vista previa de la cámara

Consulta Mostrar la vista previa de la cámara para obtener instrucciones sobre cómo mostrar rápidamente la secuencia de vista previa de la cámara dentro de una página XAML en una aplicación de Plataforma universal de Windows (UWP). Cuando haya terminado, vuelva a este tema para modificaciones específicas del escáner de códigos de barras de cámara.

Paso 2: Editar las declaraciones de funcionalidad en el manifiesto de la aplicación

Edite las declaraciones de funcionalidad en el manifiesto de la aplicación para evitar que los usuarios reciban el mensaje de consentimiento del micrófono.

  1. En Microsoft Visual Studio, en el Explorador de soluciones, abra el diseñador para el manifiesto de aplicación haciendo doble clic en el elemento package.appxmanifest.
  2. Seleccione la pestaña Funcionalidades.
  3. Desactive la casilla micrófono.

Paso 3: Agregar una using directiva para admitir la captura multimedia

using Windows.Media.Capture;

Paso 4: Configurar la configuración de inicialización de captura multimedia

En el fragmento de código siguiente se muestra cómo inicializar un objeto MediaCaptureInitializationSettings con la siguiente configuración:

 private void InitCaptureSettings()
{
    _captureInitSettings = new MediaCaptureInitializationSettings();
    _captureInitSettings.VideoDeviceId = BarcodeScanner.VideoDeviceId;
    _captureInitSettings.StreamingCaptureMode = StreamingCaptureMode.Video;
    _captureInitSettings.PhotoCaptureSource = PhotoCaptureSource.VideoPreview;
}

Paso 5: Asociar el objeto MediaCapture con un escáner de códigos de barras de cámara

Reemplace el método InitializeAsync existente del objeto MediaCapture en StartPreviewAsync() (vea Paso 1: Configurar la vista previa de la cámara) por lo siguiente:

try
    {
        mediaCapture = new MediaCapture();
        await mediaCapture.InitializeAsync(InitCaptureSettings());

        displayRequest.RequestActive();
        DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape;
    }

Consulte también