Demande d'autorisations
Comme notre application utilise l'audio et la vidéo de l'appareil de l'utilisateur, nous devrons ajouter un peu de code pour demander les autorisations audio et vidéo. Nous utiliserons la méthode EasyPermissions pour ce faire.
- Commencez par ajouter la bibliothèque EasyPermissions à votre projet - ouvrez le fichier build.gradle pour votre module (le fichier app/build.gradle) et ajoutez l'extrait de code suivant à la section des dépendances :
implementation 'pub.devrel:easypermissions:3.0.0'
- Dans votre AndroidManifest.xml ajoutez cet extrait de code à l'intérieur du fichier
manifestétiquettes :
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
ℹ️ Remarque : Les WAKE_LOCK est utilisée pour empêcher l'appareil de s'endormir pendant un appel vidéo. Cela permet d'assurer une diffusion ininterrompue de contenus multimédias.
- Dans votre MainActivity.java ajoutez une nouvelle méthode appelée
onRequestPermissionsResult:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
Il s'agit d'un code de base permettant d'utiliser la bibliothèque EasyPermissions.
Important : Vous devrez ajouter les importations manuellement, en cliquant sur EasyPermissions (texte rouge) et en appuyant sur la combinaison de touches Option + Entrée sous MacOS ou Alt + Entrée sous Windows. Cette étape peut être nécessaire lorsque vous collez le code. Vous pouvez également activer l'option "Ajouter des importations non ambiguës à la volée" (Préférences | Editeur | Importation automatique) pour ajouter des importations automatiquement.
- Ajouter le
PERMISSIONS_REQUEST_CODEen haut de la page MainActivity.java fichier :
private static final int PERMISSIONS_REQUEST_CODE = 124;
- Ensuite, nous ajouterons un
requestPermissions()méthode :
@AfterPermissionGranted(PERMISSIONS_REQUEST_CODE)
private void requestPermissions() {
String[] perms = { Manifest.permission.INTERNET, Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO };
if (EasyPermissions.hasPermissions(this, perms)) {
// initialize and connect to the session
} else {
EasyPermissions.requestPermissions(this, "This app needs access to your camera and mic to make video calls", PERMISSIONS_REQUEST_CODE, perms);
}
}
Cela permet de vérifier si les autorisations ont déjà été accordées. Si ce n'est pas le cas, nous demandons à l'utilisateur les autorisations pour la caméra et le micro avec la commande EasyPermissions.requestPermissions méthode.
Une fois les autorisations accordées, cette méthode se déclenchera à nouveau en raison de la fonction @AfterPermissionGranted(PERMISSIONS_REQUEST_CODE) . Nous ajouterons du code pour initialiser les objets session et vue dans les étapes suivantes.
- Ajouter maintenant
requestPermission();pour appeler la méthode à l'intérieur duonCreate()méthode :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
requestPermissions();
}
Chat vidéo de base
Apprenez les concepts de base de la plateforme Video API de Vonage, y compris la façon dont les utilisateurs peuvent communiquer par le biais de la vidéo, de la voix et de la messagerie. Explorer un flux de base de l'API Video de Vonage.