zego_effects_plugin 2.1.1 copy "zego_effects_plugin: ^2.1.1" to clipboard
zego_effects_plugin: ^2.1.1 copied to clipboard

zego effects plugin is a flutter plugin for zego effects sdk

example/lib/main.dart

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:flutter_bugly/flutter_bugly.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:zego_effects_plugin/zego_effects_plugin.dart';
import 'package:zego_effects_plugin_example/zego_express_init_page.dart';
import 'package:zego_express_engine/zego_express_engine.dart';

void main() {
  FlutterBugly.postCatchedException(() {
    WidgetsFlutterBinding.ensureInitialized();
    runApp(MyApp());
    FlutterBugly.init(
      androidAppId: "e9ba5edde8",
      iOSAppId: "e57b3098b1",
    );
  }, debugUpload: true);
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'ZegoEffectsExample',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  bool _isCameraPermissionGranted = false;
  bool _isMicrophonePermissionGranted = false;
  @override
  void initState() {
    super.initState();
    Permission.camera.status.then((value) => setState(
            () => _isCameraPermissionGranted = value == PermissionStatus.granted));
    Permission.microphone.status.then((value) => setState(() =>
    _isMicrophonePermissionGranted = value == PermissionStatus.granted));
    if (!_isCameraPermissionGranted) {
      print(_isCameraPermissionGranted);
      requestCameraPermission();
      print(_isCameraPermissionGranted);
    }
    if (!_isMicrophonePermissionGranted) {
      requestMicrophonePermission();
    }

    ZegoEffectsPlugin.instance.getVersion()
        .then((value) => print('🌛 Effect SDK Version: $value'));
    ZegoExpressEngine.getVersion()
        .then((value) => print('☀️ Express SDK Version: $value'));
  }

  Future<void> requestCameraPermission() async {
    PermissionStatus cameraStatus = await Permission.camera.request();
    setState(() => _isCameraPermissionGranted = cameraStatus.isGranted);
  }

  Future<void> requestMicrophonePermission() async {
    PermissionStatus microphoneStatus = await Permission.microphone.request();
    setState(() => _isMicrophonePermissionGranted = microphoneStatus.isGranted);
  }

  void onEnterEffectsPageBtnPressed() {
    Navigator.of(context)
        .push(MaterialPageRoute(builder: (BuildContext context) {
      return ExpressInitPage();
    }));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('ZegoEffectsExample'),
      ),
      body: SafeArea(
        child: Center(
          child: CupertinoButton(
            color: Color(0xff0e88eb),
            child: Text('Effects Camera'),
            onPressed: onEnterEffectsPageBtnPressed,
          ),
        ),
      ),
    );
  }
}
3
likes
0
points
166
downloads

Publisher

verified publisherzego.im

Weekly Downloads

zego effects plugin is a flutter plugin for zego effects sdk

Homepage

License

unknown (license)

Dependencies

flutter

More

Packages that depend on zego_effects_plugin