Android SDK Samples
The Andriod SDK has many ready-to-use samples under the webrtc_android_sample_app
module that can be used for different scenarios and use cases.
- The
webrtc_android_sample_app
module has three packages.
1. Minimal
This component has the simple publishcActivity which is the simplest Webrtc publish sample.
2. Basic
This component has several samples like publish activity, play activity, screen capture activity, conference activity, data channel only activity, peer activity, and settings.
3. Advanced
This component has samples for advanced cases like conference activity with speaker indicator, MP3 publish activity, MP4 publish activity, MP4 publish with surface activity, multi-track play activity, publish activity with you are speaking, and USB camera activity.
Let's explore how to get the Android SDK and experience the samples.
Getting the Android SDK
The WebRTC Android SDK is free to download. You can download/clone it from Android SDK Github repository.
-
After you have downloaded/cloned the Android SDK, open it with the Android Studio.
-
The samples are located under
webrtc-android-sample-app > java > io.antmedia.webrtc_android_sample_app
To compile and build the SDK, we need to connect the Android studio to an Android mobile device. It can be a virtual device/emulator or a physical device. For this demonstration, I'm using a physical Android device.
Run the WebRTC Android SDK
Now that we have the Android SDK, we will connect a mobile device to the Android studio and then run the SDK.
Connecting the Android Device with Android Studio
- Connect your Android device to your system and switch to the developer mode.
- Go to developer options and enable USB debugging.
- In the Android Studio application, you will see your mobile device name which shows that it is connected.
Run the SDK
- Click on run to build the SDK.
- Once the build is successful, the webrtc Android sample app will be launched on your Android device.
- On your mobile device, you can see all the samples under the Ant Media WebRTC Sample App.
WebRTC Android SDK Samples
The samples are divided into three categories, Minimal, Basic, and Advanced. We will discuss some of these samples here. Feel free to explore all the samples as you may require.
Settings
Under settings, you need to pass your Ant Media Server websocket URL and the Room Name (in case of a conference).
- All the stream samples that you publish/play will be carried from this Ant Media Server only.
Publish Activity
This sample can be used to publish WebRTC streams and it also has a data channel function embedded in this sample.
To verify whether the stream is published successfully or not, open the web panel of your Ant Media Server (e.g., http://server_ip:5080) and view the stream there.
- You can also quickly play the stream via the embedded player.
Play Activity
This sample is to play WebRTC stream and like the publish activity, it also has the data channel function embedded.
Conference Activity
The conference activity sample can be used for video conference calls.
It can also be used to join in Play Only mode as well and has enable/disable audio and video.
Screen Share Activity
This sample activity demonstrates how to share screens with the WebRTC Android sample app.
It has three variations, Screen, Front camera, and Rear camera.
Data Channel Only Activity
The data channel is another channel in WebRTC other than video and audio. In the data channel, you can send any kind of information to the other clients. Data channels can be utilized in various use cases including chat, control messages, or file sharing.
- To use the data channel, please make sure that it is enabled on the application settings.
Stats Activity
This sample page includes Webrtc publish and shows the various audio and video stats of the published stream when Show Stats
is called.
Conference with Speaking Indicator Activity
This is also a conference sample and it indicates when a speaker is speaking.
Publish with Are You Speaking Activity
This is also an example of a publishing activity that flashes Are you Speaking
in case the speaker is speaking but the microphone is muted.
Peer Activity
The includes a sample for peer-to-peer cases. In peer-to-peer, the Ant Media Server is only a signaling server to establish the connection. Video and Audio are not relayed through the Ant Media Server.
There are many more samples included with the Android SDK like USB Camera, mp3, mp4, mp4 with Surface, and Multi Track activity, etc. which you can check according to your use.