flutter_voximplant 3.13.0 copy "flutter_voximplant: ^3.13.0" to clipboard
flutter_voximplant: ^3.13.0 copied to clipboard

Voximplant plugin for embedding voice and video communication into Flutter applications.

example/lib/main.dart

// Copyright (c) 2011-2020, Zingaya, Inc. All rights reserved.

import 'package:audio_call/screens/call_screen.dart';
import 'package:audio_call/screens/incoming_call_screen.dart';
import 'package:audio_call/screens/login_screen.dart';
import 'package:audio_call/screens/main_screen.dart';
import 'package:audio_call/theme/voximplant_theme.dart';
import 'package:audio_call/utils/screen_arguments.dart';
import 'package:audio_call/services/navigation_service.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get_it/get_it.dart';

GetIt getIt = GetIt.instance;

void main() {
  setupLocator();
  runApp(MyApp());
}

void setupLocator() {
  getIt.registerLazySingleton(() => NavigationService());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
    return MaterialApp(
      title: 'Audio call',
      theme: ThemeData(
        primaryColor: VoximplantColors.primary,
        primaryColorDark: VoximplantColors.primaryDark,
        // accentColor: VoximplantColors.accent,
      ),
      navigatorKey: getIt<NavigationService>().navigatorKey,
      onGenerateRoute: (settings) {
        if (settings.name == CallScreen.routeName) {
          final args = settings.arguments as CallArguments;
          return MaterialPageRoute(
            builder: (context) {
              return CallScreen(
                call: args.call,
              );
            },
          );
        } else if (settings.name == IncomingCallScreen.routeName) {
          final args = settings.arguments as CallArguments;
          return MaterialPageRoute(
            builder: (context) {
              return IncomingCallScreen(call: args.call);
            },
          );
        } else if (settings.name == MainScreen.routeName) {
          return MaterialPageRoute(builder: (context) {
            return MainScreen();
          });
        } else {
          return MaterialPageRoute(builder: (context) {
            return LoginScreen();
          });
        }
      },
      initialRoute: LoginScreen.routeName,
    );
  }
}
33
likes
150
points
2.62k
downloads

Publisher

verified publishervoximplant.com

Weekly Downloads

Voximplant plugin for embedding voice and video communication into Flutter applications.

Homepage
Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_voximplant