EnableX_UiKit_Flutter

EnableX introduces Video UI Kit to help integrating EnableX Video quickly into your App. EnableX Video UIKit is a wonderful Framework for Video Application Development for Mobile Platforms (Phone, Tab etc.) with many customization options to meet your requirement.

You code less, only 3 lines of Code does all the magic of getting a video communication done. Thus, using UIKit helps you get a seamless Video UI with all Device Support in almost 95% reduced effort and time.

Usage

To use this plugin, add enx_uikit_flutter as a dependency in your pubspec.yaml file.

Getting Started

..
class VideoCall extends StatelessWidget{
  String token;
  VideoCall(this.token, {Key? key}) : super(key: key);


@override
Widget build(BuildContext context) {
// TODO: implement build
var setting = EnxSetting.instance;
setting.createBottomOption(BottomOption.audio);
setting.createBottomOption(BottomOption.video);
setting.createBottomOption(BottomOption.groupChat);
setting.createBottomOption(BottomOption.disconnect);
setting.createBottomOption(BottomOption.cameraSwitch);
setting.createTopOption(TopOption.userList);
setting.createTopOption(TopOption.requestFloor);
setting.createTopOption(TopOption.menu);

return Scaffold(
      body: SafeArea(child: Stack(children: [
        EnxVideoView(token: token, connectError: (Map<dynamic, dynamic> map) {
          print('connectError' + jsonEncode(map));
        },
          disconnect: (Map<dynamic, dynamic> map) {
print('connectError' + jsonEncode(map));
          },   ),
],),),
    );
}

}
..

Device Permissions

You require a physical Device to run the application as a simulator/emulator does not support playing video or publishing a local Stream.

EnableX Video SDK requires camera and microphone permission to start video call. Learn how to add Device Permissions in Android and iOS platforms as shown below:

Android

Open the AndroidManifest.xml file and add the required device permissions.

..

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
..

iOS

Open the info.plist file and add:

  • Privacy - Microphone Usage Description and add a note in the Value column.
  • Privacy - Camera Usage Description and add a note in the Value column.

Your application can still run the voice call when it is switched to the background if the background mode is enabled. Select the app target in Xcode, click the Capabilities tab, enable Background Modes, and check Audio, AirPlay, and Picture in Picture.

Black Screen Issue in iOS

EnableX Video SDK uses PlatformView so you need to set io.flutter.embedded_views_preview to YES in your info.plist to avoid the black screen issue.

Libraries

active_talker
app_bar
chat_list_model
chat_ui
ChatModel
circle
color
custom_button
custom_dialog
enx_button
enx_controller
enx_loader
enx_setting
enx_uikit_flutter
floating_layout
floor_request_model
grid_layout
more_model
more_widget
participants_list
switch_audio_widget
user_list_model
user_model
utils