initialize method
Implementation
Future<void> initialize({Cameras? cameras}) async {
if (cameras == null && camera == null) return;
try {
final Map<String, dynamic> arguments = <String, dynamic>{
'cameraId': cameras?.name ?? camera!.name,
'resolutionPreset': resolution.toString().split('.')[1],
'topRatio': topRatio,
'leftRatio': leftRatio,
'widthRatio': widthRatio,
'heightRatio': heightRatio,
};
final Map<String, dynamic>? reply = await curiosityChannel
.invokeMapMethod<String, dynamic>('initializeCameras', arguments);
if (reply == null) return;
textureId = reply['textureId'] as int;
cameraState = reply['cameraState'] as String?;
previewWidth = double.parse(reply['previewWidth'].toString());
previewHeight = double.parse(reply['previewHeight'].toString());
_eventChannel = const EventChannel(scannerEvent);
_streamSubscription = _eventChannel!
.receiveBroadcastStream(<dynamic, dynamic>{}).listen((dynamic data) {
scanResult = ScanResult.fromJson(data as Map<dynamic, dynamic>);
notifyListeners();
});
} on PlatformException catch (e) {
/// 原生异常抛出
log('initializeCameras PlatformException');
log(e);
}
}