flutter_ali_camera.dart 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import 'dart:async';
  2. import 'dart:convert';
  3. import 'dart:io';
  4. import 'package:flutter/material.dart';
  5. import 'package:flutter/services.dart';
  6. import 'package:flutter_ali_camera/camera_option.dart';
  7. class FlutterAliCameraController {
  8. static const MethodChannel _channel =
  9. const MethodChannel('flutter_ali_camera');
  10. static const String viewType = "com.i2edu.cameraLib";
  11. static Future<String> get platformVersion async {
  12. final String version = await _channel.invokeMethod('getPlatformVersion');
  13. return version;
  14. }
  15. static Future<void> initializeSdk() {
  16. return _channel.invokeMethod("initializeSdk");
  17. }
  18. Future<void> create() async {
  19. return await _channel.invokeMethod("create", {});
  20. }
  21. Widget buildView(VoidCallback onPlatformViewCreated) {
  22. return Platform.isAndroid
  23. ? AndroidView(
  24. viewType: viewType,
  25. creationParams: {},
  26. creationParamsCodec: const StandardMessageCodec(),
  27. onPlatformViewCreated: (id) => onPlatformViewCreated(),
  28. )
  29. : UiKitView(
  30. viewType: viewType,
  31. creationParams: {},
  32. creationParamsCodec: const StandardMessageCodec(),
  33. onPlatformViewCreated: (id) => onPlatformViewCreated(),
  34. );
  35. }
  36. Future<void> startPreview() {
  37. return _channel.invokeMethod("startPreview");
  38. }
  39. Future<void> stopPreview() {
  40. return _channel.invokeMethod("stopPreview");
  41. }
  42. Future<void> switchCamera() {
  43. return _channel.invokeMethod("switchCamera");
  44. }
  45. Future<void> setBeauty(int level) {
  46. return _channel.invokeMethod("setBeauty", {"level": level});
  47. }
  48. Future<void> setFilter(String path) {
  49. return _channel.invokeMethod("setFilter", {"path": path});
  50. }
  51. Future<void> onDestroy() {
  52. return _channel.invokeMethod("onDestroy");
  53. }
  54. }