首页 > 解决方案 > 无法检测到可用设备

问题描述

我正在使用平板电脑,但我的代码没有获得可用的相机设备。

this.scanner.camerasFound.subscribe((devices: MediaDeviceInfo[]) => {
      this.hasDevices = true;
      this.availableDevices = devices;
});

将这行代码放在 ngOnInit 上后,this.availableDevices 变量没有任何值

html

<zxing-scanner #scanner start="true" [(device)]="currentDevice"></zxing-scanner>

标签: angularzxing

解决方案


好像从这里

<zxing-scanner
    [enable]="scannerEnabled"
    [(device)]="desiredDevice"
    [torch]="torch"
    (torchCompatible)="onTorchCompatible($event)"
    (camerasFound)="camerasFoundHandler($event)"
    (camerasNotFound)="camerasNotFoundHandler($event)"
    (scanSuccess)="scanSuccessHandler($event)"
    (scanError)="scanErrorHandler($event)"
    (scanFailure)="scanFailureHandler($event)"
    (scanComplete)="scanCompleteHandler($event)"
></zxing-scanner>

cameraFound 在视图初始化后发出一系列视频设备。

所以从这里

  camerasFoundHandler(devices: MediaDeviceInfo[]): void {
    this.availableDevices = devices;
    this.hasDevices = Boolean(devices && devices.length);
  }

推荐阅读