This guide is designed to help you transition from your current Twilio Video setup to the EnableX Android Video SDK documentation. For those starting a new project, we recommend consulting the EnableX Video SDK documentation for guidance. We ensure a smooth transition for all Twilio users looking to switch to a reliable alternative without any hassle. Begin with a free trial and experience the ease of integration firsthand.
Explore a variety of sample applications tailored for different programming environments, including Java and Kotlin. Each sample app is available on GitHub, providing practical examples to kickstart your video calling project.
Video Calling QuickStart documentation - iOS
We’ve got you covered with a migration path that feels familiar yet innovative.
Before diving into development, you'll need to secure your application with EnableX's authentication credentials. Here's how to get started:
For browser-based applications, SSL certification isn't just a good practice; it's a requirement. Here's what you need to know:
For integrating EnableX SDKs into your Android app:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
Download the EnableX Web SDK and extract the contents from the zip file. Then, save the extracted files to your hosting server or the designated directory in your project structure.
// Join room
val connectOptions = ConnectOptions.Builder(joinToken)
.videoTracks(localVideoTracks)
.audioTracks(localAudioTracks)
.roomName(sessionId)
.build()
Video.connect(context, connectOptions, roomListener)
EnxRtc enxRtc = new EnxRtc(getActivity(), EnxRoomObserver,
EnxStreamObserver, EnxAdvancedOptionsObserver;
EnxStream vcxLocalStream = enxRtc.joinRoom(token, publishStreamInfo,
roomInfo, advanceOptionsInfo);
enxRoom.publish(vcxLocalStream);
EnxPlayerView enxPlayerView = new EnxPlayerView(getActivity(),
EnxPlayerView.ScalingType.SCALE_ASPECT_BALANCED, true);
vcxLocalStream.attachRenderer(enxPlayerView);
enxRoom.subscribe(streams);
Step into the New Era of Communication: Launching EnableX RCS Read More