Kotlin

Requesting permissions

Because our app uses audio and video from the user's device, we’ll need to add some code to request audio and video permissions.

  1. Add permissions to AndroidManifest.xml

Inside your AndroidManifest.xml, add the following inside the <manifest> tag:

ℹ️ Note: The WAKE_LOCK permission is used to keep the device from sleeping during a video call. This ensures uninterrupted media streaming.

  1. Request runtime permissions in your MainActivity.kt

We’ll now update your MainActivity to request permissions at runtime using. At the top of your MainActivity.kt, define the permissions your app needs and a request code constant:

  1. Define requestPermissionLauncher in in your MainActivity.kt. It will handle the permission response for us.
  1. Check for permissions in onCreate()

In your onCreate() method, check whether all required permissions have been granted. If they have, proceed to initialize the video session. Otherwise, request the permissions.

  1. Implement the helper method hasPermissions()

Add this helper method to check if all required permissions are already granted:

  1. Complete MainActivity.kt by creating a session placeholder

Define the initializeSession() method as a placeholder for your video call setup. Below is the complete MainActivity.kt with everything so far:

  1. Next Steps

Once permissions are granted, the initializeSession() function will be triggered. In the next steps of the tutorial, you'll implement the logic to connect to a Vonage Video API session.

Custom audio driver

Learn how to use a custom audio driver to customize publisher and subscriber stream audio. You will use the custom audio driver when you want to start and stop the audio play your own audio file, and do anything outside the default behavior of live video chat provided by the SDK.

Available on:
Kotlin Swift
Steps
1
Introduction
2
Getting Started
3
Creating a new project
4
Adding the Android SDK
5
Setting up authentication
6
Requesting permissions
7
Adding a custom audio driver
8
Capturing audio to be used by a publisher
9
Adding a custom audio renderer
10
Running the app
11
Conclusion