angular - 无法检测到可用设备
问题描述
我正在使用平板电脑,但我的代码没有获得可用的相机设备。
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>
解决方案
好像从这里
<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);
}