import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_ali_camera/camera_option.dart'; class FlutterAliCameraController { static const MethodChannel _channel = const MethodChannel('flutter_ali_camera'); static const String viewType = "com.i2edu.cameraLib"; static Future get platformVersion async { final String version = await _channel.invokeMethod('getPlatformVersion'); return version; } static Future initializeSdk() { return _channel.invokeMethod("initializeSdk"); } Future create() async { return await _channel.invokeMethod("create", {}); } Widget buildView(VoidCallback onPlatformViewCreated) { return Platform.isAndroid ? AndroidView( viewType: viewType, creationParams: {}, creationParamsCodec: const StandardMessageCodec(), onPlatformViewCreated: (id) => onPlatformViewCreated(), ) : UiKitView( viewType: viewType, creationParams: {}, creationParamsCodec: const StandardMessageCodec(), onPlatformViewCreated: (id) => onPlatformViewCreated(), ); } Future startPreview() { return _channel.invokeMethod("startPreview"); } Future stopPreview() { return _channel.invokeMethod("stopPreview"); } Future switchCamera() { return _channel.invokeMethod("switchCamera"); } Future setBeauty(int level) { return _channel.invokeMethod("setBeauty", {"level": level}); } Future setFilter(String path) { return _channel.invokeMethod("setFilter", {"path": path}); } Future onDestroy() { return _channel.invokeMethod("onDestroy"); } }