zego_effects_plugin 2.1.1
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,
),
),
),
);
}
}