Tous les produits
Search
Centre de documentation

ApsaraVideo Live:Interface AliRtcEngine

Dernière mise à jour :Aug 11, 2026

Cette rubrique répertorie les méthodes API du SDK ApsaraVideo Real-time Communication (ARTC) pour Android.

Sommaire

Interfaces de base

API

Description

[getInstance[1/2]](#8f628e533bein)

Crée une instance AliRtcEngine selon le modèle singleton.

[getInstance[2/2]](#42a076dfc63yy)

Crée une instance AliRtcEngine (modèle singleton).

[destroy[1/2]](#37483c7052kzi)

Détruit un objet AliRtcEngine.

[destroy[2/2]](#1a62de44b2faw)

Détruit l'objet AliRtcEngine.

setH5CompatibleMode

Active le mode de compatibilité HTML5.

getH5CompatibleMode

Vérifie si l'environnement actuel est compatible avec HTML5.

setRtcEngineEventListener

Définit un écouteur pour les événements de rappel liés au comportement de l'utilisateur local.

setRtcEngineNotify

Définit un écouteur pour les événements de notification concernant le comportement des utilisateurs distants.

getSdkVersion

Interroge la version actuelle du SDK.

Méthodes relatives aux canaux

API

Description

setChannelProfile

Définit le mode du canal.

setAudioProfile

Configure les modes d'encodage audio et de scénario.

isAudioOnly

Vérifie si le mode audio uniquement est activé.

setAudioOnlyMode

Bascule entre le mode audio uniquement et le mode audio-vidéo.

[joinChannel[1/3]](#758b964acc7jd)

Rejoint un canal.

[joinChannel[2/3]](#0bdf7f4909rz7)

Rejoint un canal.

[joinChannel[3/3]](#349a116f53dno)

Rejoint le canal.

leaveChannel

Quitte un canal.

isInCall

Vérifie si vous êtes actuellement dans un canal.

setClientRole

Définit le rôle de l'utilisateur.

getCurrentClientRole

Récupère le rôle de l'utilisateur.

[refreshAuthInfo[1/2]](#975b9af9ecq1a)

Actualise les informations d'authentification.

[refreshAuthInfo[2/2]](#ce11742ac3n04)

Actualise les informations d'authentification.

Méthodes de publication et d'abonnement

API

Description

publishLocalAudioStream

Arrête ou reprend la publication du flux vidéo local. La publication est activée par défaut.

isLocalAudioStreamPublished

Vérifie si un flux audio est publié.

setDefaultSubscribeAllRemoteAudioStreams

Détermine s'il faut s'abonner aux pistes audio des utilisateurs distants. Par défaut, l'abonnement concerne toutes les pistes audio distantes. Appelez cette méthode avant de rejoindre le canal.

subscribeRemoteAudioStream

Arrête ou reprend la récupération du flux audio d'un utilisateur distant spécifique.

subscribeAllRemoteAudioStreams

Arrêtez ou reprenez la réception des flux audio de tous les utilisateurs distants.

publishLocalVideoStream

Contrôle la diffusion du flux vidéo local. Le SDK diffuse par défaut.

isLocalVideoStreamPublished

Vérifie si un flux vidéo est publié.

setDefaultSubscribeAllRemoteVideoStreams

Détermine s'il faut s'abonner aux flux vidéo des utilisateurs distants. Par défaut, l'abonnement concerne tous les flux vidéo distants. Appelez cette méthode avant de rejoindre un canal.

subscribeRemoteVideoStream

Arrêtez ou reprenez l'abonnement à des flux vidéo distants spécifiques.

subscribeAllRemoteVideoStreams

Arrêtez ou reprenez la réception de tous les flux vidéo distants.

[subscribeRemoteMediaStream[1/2]](#491116a3a6x1e)

S'abonne ou se désabonne du flux multimédia d'un utilisateur distant spécifique. Utilisez cette méthode lorsque les pistes audio et vidéo sont disponibles et nécessitent une gestion.

[subscribeRemoteMediaStream[2/2]](#4cec275051vr6)

Arrêtez ou reprenez le flux multimédia d'un utilisateur distant spécifique. Cette API est utile lorsque l'audio et la vidéo sont présents et requièrent un contrôle.

subscribeRemoteDestChannelStream

Arrêtez ou reprenez le flux multimédia d'un utilisateur distant spécifique entre canaux.

subscribeRemoteDestChannelAllStream

Arrêtez ou reprenez les abonnements aux flux de tous les utilisateurs entre canaux.

setRemoteAudioVolume

Ajuste le volume de lecture lors de la récupération du flux.

Méthodes de gestion des périphériques audio

API

Description

muteLocalMic

Détermine s'il faut arrêter la publication de l'audio local.

muteRemoteAudioPlaying

Définit s'il faut arrêter la lecture du flux audio distant.

muteAllRemoteAudioPlaying

Arrêtez ou reprenez toute la lecture audio distante.

[startAudioCapture[1/2]](#da980b4278qwn)

Démarre la capture audio.

[startAudioCapture[2/2]](#b71a48f4b84n0)

Démarre la capture audio.

stopAudioCapture

Arrête la capture audio.

setDefaultAudioRoutetoSpeakerphone

Définit le périphérique de sortie audio par défaut.

enableSpeakerphone

Oriente la sortie audio vers l'écouteur ou le haut-parleur.

isSpeakerOn

Vérifie si le périphérique de sortie audio actuel est l'écouteur ou le haut-parleur.

enableAudioVolumeIndication

Active la détection du volume.

enableEarBack

Active le retour in-ear.

setEarBackVolume

Définit le volume du retour in-ear.

startAudioPlayer

Active le périphérique de lecture audio.

stopAudioPlayer

Arrête le périphérique de lecture audio.

setPlayoutVolume

Définit le volume de lecture locale.

setRecordingVolume

Définit le volume d'enregistrement.

playAudioFileTest

Lit des fichiers audio.

stopAudioFileTest

Arrête la lecture du fichier audio.

startAudioCaptureTest

Active la détection du périphérique de capture audio avant un appel.

stopAudioCaptureTest

Arrête la détection de la capture audio.

Méthodes de modification vocale et de réverbération

API

Description

setAudioEffectVoiceChangerMode

Définit le mode d'effet de modification vocale.

setAudioEffectPitchValue

Définit le paramètre de hauteur tonale.

setAudioEffectReverbMode

Définit le mode de réverbération.

setAudioEffectReverbParamType

Définit le mode de réverbération ainsi que ses paramètres.

setAudioEffectBeautifyMode

Définit un profil prédéfini d'amélioration vocale.

setAudioEffectEqualizationParam

Définit les paramètres de l'égaliseur audio (EQ) pour ajuster le gain d'une bande de fréquences spécifique.

Entrée audio personnalisée

API

Description

addExternalAudioStream

Ajoute un flux audio externe.

pushExternalAudioStreamRawData

Injecte des données de flux audio externe.

setExternalAudioStreamPublishVolume

Définit le volume de l'audio externe pour la diffusion du flux.

getExternalAudioStreamPublishVolume

Interroge le volume de l'audio externe pour la diffusion du flux.

setExternalAudioStreamPlayoutVolume

Définit le volume de lecture du flux audio externe.

getExternalAudioStreamPlayoutVolume

Récupère le volume de lecture du flux audio externe.

removeExternalAudioStream

Supprimez le flux audio externe.

Accompagnement musical

API

Description de la fonctionnalité

getAudioFileInfo

Récupère les informations du fichier audio.

startAudioAccompany

Démarre le mixage de l'accompagnement.

stopAudioAccompany

Arrête le mixage de l'accompagnement.

setAudioAccompanyVolume

Définit le volume de l'accompagnement pour la lecture locale et la diffusion du flux.

setAudioAccompanyPublishVolume

Définit le volume de l'accompagnement pour la diffusion du flux.

getAudioAccompanyPublishVolume

Récupère le volume de diffusion du flux d'accompagnement.

setAudioAccompanyPlayoutVolume

Définit le volume de lecture locale de l'accompagnement.

getAudioAccompanyPlayoutVolume

Récupère le volume de lecture locale de l'accompagnement.

pauseAudioAccompany

Mettre en pause le mixage de l'accompagnement.

resumeAudioAccompany

Reprend le mixage de l'accompagnement.

getAudioAccompanyDuration

Récupère la durée du fichier d'accompagnement, en millisecondes.

getAudioAccompanyCurrentPosition

Récupère la progression de la lecture du fichier d'accompagnement, en millisecondes.

setAudioAccompanyPosition

Définit la position de lecture du fichier d'accompagnement.

Fichier d'effets sonores

API

Description

preloadAudioEffect

Précharge un effet sonore.

unloadAudioEffect

Supprime un fichier d'effet sonore préchargé.

playAudioEffect

Démarre la lecture d'un effet sonore.

stopAudioEffect

Arrête la lecture d'un effet sonore.

stopAllAudioEffects

Arrête la lecture de tous les effets sonores.

pauseAudioEffect

Met en pause la lecture d'un effet sonore.

pauseAllAudioEffects

Met en pause la lecture de tous les effets sonores.

resumeAudioEffect

Reprend la lecture d'un effet sonore.

resumeAllAudioEffects

Rétablit tous les fichiers d'effets sonores.

setAudioEffectPublishVolume

Définit le volume d'un effet sonore pour la diffusion du flux.

getAudioEffectPublishVolume

Récupère le volume de mixage d'un effet sonore pour la diffusion du flux.

setAllAudioEffectsPublishVolume

Définit le volume de tous les effets sonores pour la diffusion du flux.

setAudioEffectPlayoutVolume

Définit le volume d'un effet sonore pour la lecture locale.

getAudioEffectPlayoutVolume

Interroge le volume d'un effet sonore pour la lecture locale.

setAllAudioEffectsPlayoutVolume

Définit le volume de tous les effets sonores pour la lecture locale.

Enregistrement de fichiers audio et vidéo

API

Description de la fonctionnalité

startRecord

Enregistre des fichiers audio et vidéo (aac, wav, mp4).

stopRecord

Arrête l'enregistrement des fichiers audio/vidéo.

Méthodes de gestion des périphériques vidéo

API

Description

createRenderSurfaceView

Crée une vue de rendu SurfaceView.

setLocalViewConfig

Définit la fenêtre de rendu et les paramètres d'affichage pour la prévisualisation locale.

setRemoteViewConfig

Définit la fenêtre de rendu et les paramètres d'affichage pour la vidéo distante.

setCameraCapturerConfiguration

Définit les préférences de capture de la caméra.

enableLocalVideo

Désactive ou réactive la capture vidéo locale.

muteLocalCamera

Détermine s'il faut arrêter la publication d'un flux vidéo local.

isCameraOn

Vérifie si la caméra est activée.

setVideoEncoderConfiguration

Définit les propriétés d'encodage vidéo.

setVideoDecoderConfiguration

Définit les propriétés de décodage vidéo.

switchCamera

Bascule entre les caméras avant et arrière. La caméra avant est utilisée par défaut.

getCurrentCameraDirection

Interroge l'orientation actuelle de la caméra.

startPreview

Démarre une prévisualisation locale.

stopPreview

Arrête une prévisualisation locale.

setCameraZoom

Définit le facteur de zoom de la caméra.

GetCameraMaxZoomFactor

Récupère le facteur de zoom maximal de la caméra.

GetCurrentZoom

Récupère le réglage de zoom actuel de la caméra.

SetExposure

Définit l'exposition de la caméra.

GetCurrentExposure

Récupère l'exposition de la caméra.

GetMinExposure

Récupère l'exposition minimale prise en charge par la caméra.

GetMaxExposure

Récupère l'exposition maximale prise en charge par la caméra.

setCameraFlash

Active ou désactive le flash de la caméra.

isCameraFocusPointSupported

Indique si l'appareil prend en charge la mise au point manuelle.

setCameraFocusPoint

Définit le point de mise au point manuelle de la caméra.

isCameraExposurePointSupported

Vérifie si la caméra permet de définir un point d'exposition.

setCameraExposurePoint

Définit le point d'exposition de la caméra.

isCameraAutoFocusFaceModeSupported

Vérifie si la caméra effectue automatiquement la mise au point sur les visages.

setCameraAutoFocusFaceModeEnabled

Définit la mise au point automatique sur les visages.

setVideoMirrorMode

Définit le mode miroir vidéo pour la prévisualisation et la diffusion du flux.

setCapturePipelineScaleMode

Définit le moment de la mise à l'échelle dans le pipeline de capture vidéo.

Méthodes de rappel des données vidéo

API

Description de la fonctionnalité

registerVideoSampleObserver

Inscrit l'objet de sortie des données vidéo.

unRegisterVideoSampleObserver

Désinscrivez l'objet de sortie des données vidéo.

registerLocalVideoTextureObserver

Inscrivez un observateur pour les données de texture OpenGL du flux vidéo de la caméra locale.

unRegisterLocalVideoTextureObserver

Annulez l'inscription de l'observateur de données de texture OpenGL pour le flux vidéo de la caméra locale.

snapshotVideo

Fonctionnalité de capture d'écran vidéo.

Méthodes de rappel des données audio

API

Description de la fonctionnalité

registerAudioVolumeObserver

Inscrivez l'objet de sortie des données de volume.

unRegisterAudioVolumeObserver

Annulez l'inscription de l'objet de sortie des données de volume.

enableAudioFrameObserver

Définit les paramètres de rappel audio.

registerAudioFrameObserver

Inscrivez le rappel des données audio.

Entrée vidéo personnalisée

API

Description

setExternalVideoSource

Active une source d'entrée vidéo externe.

pushExternalVideoFrame

Importe des données vidéo externes.

Méthodes liées au partage d'écran

API

Description de la fonctionnalité

startScreenShare

Activez l'ingestion du flux de partage d'écran.

startScreenShare

Démarrez le partage de l'écran et du flux audio.

Remarque

Cette interface sera bientôt obsolète.

startScreenShare

Lancez le partage d'écran.

Remarque

Cette API sera prochainement dépréciée.

stopScreenShare

Arrêtez le flux de partage d'écran.

setAudioShareVolume

Définissez le volume du flux audio partagé.

isScreenSharePublished

Vérifie si le partage d'écran est en cours de diffusion.

setScreenShareEncoderConfiguration

Configurez les propriétés d'encodage vidéo du flux d'écran.

Interface de relais de streaming en direct

API

Description

startPublishLiveStream

Démarrez le relais de streaming en direct.

updatePublishLiveStream

Mettez à jour les paramètres du relais de streaming en direct.

stopPublishLiveStream

Arrêtez le relais de streaming en direct.

getPublishLiveStreamState

Interrogez l'état du relais de streaming en direct.

API de test de qualité réseau

API

Description

startNetworkQualityProbeTest

Lancez le test de qualité réseau.

stopNetworkQualityProbeTest

Arrêtez le test de qualité réseau.

SEI

API

Description de la fonctionnalité

sendMediaExtensionMsg

Diffusez un flux SEI.

sendMediaExtensionMsgEx

Diffusez un flux SEI (extension).

Autres API

API

Description

setParameter

Définit des paramètres personnalisés.

getParameter

Récupère les paramètres personnalisés.

setLogDirPath

Définit le chemin de stockage des fichiers de journal SDK.

setLogLevel

Configure le niveau de journalisation.

setDeviceOrientationMode

Définit l'orientation de l'appareil.

requestAudioFocus

Demande la priorité audio.

abandonAudioFocus

Libère la priorité audio.

getNetworkTime

Obtient l'heure actuelle du réseau.

sendDataChannelMsg

Envoie des messages personnalisés via le canal de données.

Méthodes AliveEnv

API

Description de la fonctionnalité

setGlobalEnvironment

Définit l'environnement global.

Callbacks

AliRtcEngineEventListener

API

Description de la fonctionnalité

onConnectionStatusChange

Callback de changement d'état de la connexion réseau. Ce callback nécessite une attention particulière.

OnLocalDeviceException

Signale une anomalie sur un périphérique local. Le client doit impérativement traiter ce callback.

onJoinChannelResult

Indique le résultat de la tentative de rejoindre un canal.

onLeaveChannelResult

Notifie le résultat après avoir quitté un canal.

onAudioPublishStateChanged

Informe des modifications de l'ingestion du flux audio.

onAudioSubscribeStateChanged

Signale tout changement dans l'état de l'abonnement audio.

onVideoPublishStateChanged

Callback déclenché lors d'un changement d'ingestion du flux vidéo.

onVideoSubscribeStateChanged

Avertit lorsque l'abonnement au flux caméra évolue.

onPublishLiveStreamStateChanged

Indique un changement d'état de l'ingestion du flux de relais.

onPublishTaskStateChanged

Se déclenche lorsque l'état d'une tâche de relais change.

onNetworkQualityChanged

Notification de variation de la qualité réseau.

onNetworkQualityProbeTest

Retourne les résultats intermédiaires du test de qualité réseau, environ 3 secondes après son lancement.

onNetworkQualityProbeTestResult

Fournit le rapport final du test de qualité réseau, généralement 30 secondes après le début du test.

onSnapshotComplete

Interface de callback pour le résultat de la capture d'écran.

onScreenSharePublishStateChanged

Signale les changements d'ingestion du flux de partage d'écran.

onScreenShareSubscribeStateChanged

Notifie les modifications d'abonnement au flux de partage d'écran.

onOccurError

Alerte en cas d'erreur système.

OnLocalAudioStateChanged

Suit l'état du périphérique audio local.

AliRtcEngineNotify

API

Description de la fonctionnalité

onAuthInfoWillExpire

Avertissement indiquant que l'authentification utilisateur expirera dans 30 secondes. Le client doit gérer ce callback.

onAuthInfoExpired

Le serveur retourne une expiration lorsque l'utilisateur appelle une interface nécessitant une authentification.

onRemoteUserOffLineNotify

Notification de déconnexion d'un utilisateur distant.

onRemoteUserOnLineNotify

Signale la connexion d'un utilisateur distant.

onRemoteTrackAvailableNotify

Informations concernant l'ingestion de flux distants.

onBye

Message indiquant une expulsion par le serveur ou la fermeture du canal de réunion.

onUserAudioMuted

Indique qu'un utilisateur distant a coupé son micro.

onUserAudioInterruptedBegin

Début d'une interruption causée par un périphérique audio.

onUserAudioInterruptedEnded

Fin d'une interruption liée au périphérique audio.

onUserVideoMuted

L'utilisateur distant signale l'envoi de trames vidéo noires.

onUserVideoEnabled

Notification envoyée lorsque l'utilisateur distant arrête la capture vidéo.

onUserWillResignActive

L'application de l'utilisateur distant passe en arrière-plan.

onUserWillBecomeActive

L'application distante revient au premier plan.

onAudioEffectFinished

Confirme la fin de la lecture d'un effet sonore local.

onAudioFileInfo

Renvoie les informations relatives au fichier audio.

onMediaExtensionMsgReceived

Réception d'un message contenant des extensions multimédias.

onFirstRemoteVideoFrameDrawn

Se déclenche lors de l'affichage de la première trame vidéo d'un utilisateur distant.

onFirstLocalVideoFrameDrawn

Ce message apparaît dès que la prévisualisation affiche la première trame vidéo.

onFirstVideoFrameReceived

Confirme la réception de la première trame vidéo distante.

onFirstVideoPacketSent

Indique l'envoi du premier paquet vidéo.

onFirstAudioPacketSent

Signale l'émission du premier paquet audio.

onFirstVideoPacketReceived

Callback lors de la réception du premier paquet vidéo.

onFirstAudioPacketReceived

Accusé de réception du premier paquet audio.

onFirstRemoteAudioDecoded

Première trame audio distante décodée avec succès.

onAudioAccompanyStateChanged

Suit l'état de lecture de l'accompagnement musical local.

onRemoteAudioAccompanyStarted

Démarrage de la lecture musicale chez un utilisateur distant.

onRemoteAudioAccompanyFinished

Fin de la musique d'accompagnement distante.

onAliRtcStats

Statistiques temps réel mises à jour toutes les 2 secondes.

onRtcLocalVideoStats

Métriques de publication du flux vidéo local (intervalle de 2 s).

onRtcRemoteVideoStats

Données statistiques du flux vidéo distant abonné (toutes les 2 s).

onRtcRemoteAudioStats

Rapport statistique pour le flux audio distant souscrit (déclenché toutes les 2 s).

onRtcLocalAudioStats

Analyse du flux audio local publié. Fréquence : 2 s.

onAudioFocusChange

Changement de priorité audio (Android uniquement).

onAudioRouteChanged

Modification du routage audio (concerne Android et iOS).

onRemoteUserSubscribedDataChannel

Autorise l'envoi de messages sur le canal de données une fois ce callback reçu.

onDataChannelMessage

Réception de messages personnalisés via le canal de données.

AliRtcAudioVolumeObserver

API

Description de la fonctionnalité

onAudioVolume

Indications sur le volume des utilisateurs.

onActiveSpeaker

Détection de l'orateur actif par reconnaissance vocale.

OnTestAudioVolume

Niveau sonore relevé pendant le test préalable à l'appel.

AliRtcAudioFrameObserver

API

Description de la fonctionnalité

onCapturedAudioFrame

Données brutes issues de la capture audio.

onProcessCapturedAudioFrame

Flux audio après traitement 3A.

onPublishAudioFrame

Trames audio destinées à l'ingestion.

onPlaybackAudioFrame

Données de lecture audio.

onRemoteUserAudioFrame

Récupération des données du flux distant.

AliRtcDestroyCompletionObserver

API

Description de la fonctionnalité

OnDestroyCompletion

Confirmation de la destruction complète du moteur DPI.

AliRtcTextureObserver

API

Description de la fonctionnalité

onTextureCreate

Création du contexte OpenGL.

onTextureUpdate

Mise à jour de la texture OpenGL.

onTextureDestroy

Destruction du contexte OpenGL.

AliRtcVideoObserver

API

Description de la fonctionnalité

onLocalVideoSample

Échantillons vidéo capturés localement et abonnés.

onPreEncodeVideoSample

Données vidéo locales avant encodage.

onRemoteVideoSample

Flux vidéo distant auquel vous êtes abonné.

onGetVideoFormatPreference

Format de sortie préféré pour les données vidéo.

onGetObservedFramePosition

Point de sortie des données vidéo.

Détails

getInstance[1/2]

Cette méthode permet d'obtenir une instance singleton d'AliRtcEngine.

public static AliRtcEngineImpl getInstance(Context context);
Remarque
  • Cette méthode et [getInstance[2/2]](#42a076dfc63yy) créent toutes deux des instances AliRtcEngine. La différence réside dans le fait que getInstance[2/2] prend en charge une configuration supplémentaire lors de la création de l'instance.

Moment de l'appel

Appelez cette méthode avant toute autre API du SDK ARTC afin de créer l'instance AliRtcEngine.

Limites

Le SDK ne prend en charge qu'une seule instance AliRtcEngine par application.

Paramètres

Paramètre

Type

Description

context

Context

Contexte de l'activité Android.

Description de la valeur de retour

Le SDK ne prend en charge qu'une seule instance AliRtcEngine par application.

getInstance[2/2]

Obtient l'instance AliRtcEngine (modèle singleton).

public static AliRtcEngineImpl getInstance(Context context, String extras);
Remarque
  • Cette méthode et <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8f628e533bein" id="72113a6d4d6t8">getInstance[1/2]</a> permettent toutes deux de créer une instance AliRtcEngine. Celle-ci offre cependant la possibilité de spécifier des configurations supplémentaires lors de la création de l'instance.

Moment de l'appel

Appelez cette méthode avant toute autre API du SDK ARTC afin de créer l'instance AliRtcEngine.

Limites

Le SDK ne prend en charge qu'une seule instance AliRtcEngine par application.

Paramètres

Paramètre

Type

Description

context

Context

Contexte de l'activité Android.

extras

String

Spécifie une configuration JSON permettant de définir des fonctionnalités spéciales du kit de développement logiciel (SDK) lors des versions canary. Ce paramètre peut être une chaîne vide.

Description de la valeur de retour

Renvoie une instance singleton de la classe AliRtcEngineImpl, qui est une sous-classe d'AliRtcEngine.

destroy[1/2]

Détruit une instance AliRtcEngine.

public abstract void destroy();

Cette méthode détruit l'instance singleton AliRtcEngine. Après son appel, toutes les ressources internes sont libérées. Vous ne pouvez plus utiliser d'autres méthodes ou rappels AliRtcEngine. Pour réutiliser le moteur, appelez getInstance afin de créer une nouvelle instance.

Remarque
  • Cette méthode et destroy[2/2] détruisent toutes deux l'instance du moteur. La différence est que destroy[2/2] permet de transmettre un observateur de fin d'exécution.

  • Si vous souhaitez créer une nouvelle instance AliRtcEngine après la destruction, assurez-vous de le faire uniquement après l'achèvement de cette méthode.

Moment de l'appel

Nous recommandons d'appeler cette méthode une fois la communication en temps réel terminée, c'est-à-dire lorsque les fonctionnalités d'AliRtcEngine ne sont plus nécessaires, afin de libérer l'instance et de réduire l'utilisation inutile des ressources.

Limites

  • Pour éviter les interblocages, n'appelez pas cette méthode depuis un rappel du SDK.

  • Après l'appel de cette méthode, définissez l'objet moteur sur null. Par exemple :

    mAliRtcEngine.destroy();
    mAliRtcEngine = null;

destroy[2/2]

Détruit une instance AliRtcEngine.

public abstract void destroy(AliRtcDestroyCompletionObserver observer);

Cette méthode détruit l'instance singleton AliRtcEngine. Après son appel, toutes les ressources internes sont libérées. Vous ne pouvez plus utiliser d'autres méthodes ou rappels AliRtcEngine. Pour réutiliser le moteur, appelez getInstance afin de créer une nouvelle instance.

Remarque

Il s'agit d'un appel asynchrone qui fournit un observateur permettant aux développeurs de suivre la fin de la destruction. Une nouvelle création ne peut être effectuée qu'après l'achèvement de OnDestroyCompletion, et la destruction ne peut se terminer avant l'exécution du rappel de l'observateur.

Moment de l'appel

Nous recommandons d'appeler cette méthode à la fin de la communication en temps réel pour libérer l'instance.

Limites

Pour éviter les interblocages, n'appelez pas cette méthode depuis un rappel du SDK.

Rappel associé

Une fois l'objet moteur du SDK détruit, le rappel OnDestroyCompletion est déclenché, indiquant qu'une nouvelle création peut être effectuée.

Paramètres

Paramètre

Type

Description

observer

AliRtcDestroyCompletionObserver

Rappel de notification pour la destruction du moteur. Écoutez ce rappel pour vous assurer que les ressources sont entièrement libérées.

setH5CompatibleMode

Spécifie s'il faut activer le mode de compatibilité HTML5.

public static int setH5CompatibleMode(int enable);

Paramètres

Paramètre

Type

Description

enable

int

Indique si le mode de compatibilité HTML5 doit être activé. Valeurs valides :

  • 0 (par défaut) : Désactive le mode de compatibilité HTML5.

  • 1 : Active le mode de compatibilité HTML5.

Important

Les paramètres de compatibilité HTML5 ne peuvent pas être modifiés pour la version actuelle après la création d'une instance AliRtcEngine. Vous devez appeler cette méthode avant de créer l'instance.

getH5CompatibleMode

Vérifie si le mode de compatibilité HTML5 est activé.

public static int getH5CompatibleMode();

Description de la réponse

  • La valeur 1 indique que le mode de compatibilité HTML5 est activé.

  • La valeur 0 indique que le mode de compatibilité HTML5 est désactivé.

setRtcEngineEventListener

Définit un écouteur pour recevoir les événements de rappel de l'utilisateur local.

public abstract void setRtcEngineEventListener(AliRtcEngineEventListener listener);

Cette méthode configure les rappels d'événements liés à l'utilisateur local, tels que le résultat de la jonction ou du départ d'un canal, les changements de rôle utilisateur, les modifications d'état de publication et d'abonnement aux flux audio et vidéo, les changements de qualité réseau et les résultats de sondage, les résultats de capture d'écran, l'état et les exceptions des périphériques, ainsi que les erreurs du SDK. Les développeurs implémentent ces méthodes de rappel pour gérer le cycle de vie et les changements d'état de l'utilisateur local dans les applications RTC.

Remarque
  • Tous les rappels possèdent des implémentations par défaut vides. Il n'est pas nécessaire de tous les implémenter ; seuls ceux pertinents pour vos besoins métier sont requis.

  • Pour implémenter des rappels liés aux utilisateurs distants, aux premières trames, aux premiers paquets, aux effets sonores, à l'accompagnement audio ou à l'authentification, implémentez la classe AliRtcEngineNotify et appelez setRtcEngineNotify.

  • Évitez d'effectuer des opérations longues dans les rappels, comme l'appel de la méthode destroy. Cela pourrait provoquer des blocages et nuire aux performances du SDK.

Moment de l'appel

Appelez cette méthode avant de rejoindre un canal.

Rappels associés

Lorsque des exceptions surviennent, le SDK tente d'abord des retries internes pour récupérer automatiquement. En cas d'échec, il notifie votre application via des rappels prédéfinis. Voici les principaux rappels nécessitant un traitement au niveau de l'application :

Causes de l'anomalie

Rappels et paramètres

Solutions

Remarque

Échec de l'authentification

Le paramètre result du rappel onJoinChannelResult renvoie AliRtcErrJoinBadToken.

Lorsqu'une erreur survient, l'application doit vérifier l'exactitude du token.

Si un appel d'API échoue lors de l'authentification, le système renvoie un message d'erreur d'authentification dans le rappel.

Connectivité réseau anormale

Le rappel onConnectionStatusChange renvoie AliRtcConnectionStatusFailed.

Lorsque cette erreur se produit, l'application doit rejoindre à nouveau la réunion.

Le SDK récupère automatiquement après de brèves interruptions réseau. Si l'interruption dépasse le seuil d'expiration prédéfini, la connexion expire et se déconnecte. Dans ce cas, l'application doit vérifier l'état du réseau et guider l'utilisateur pour qu'il rejoigne à nouveau la réunion.

Périphérique local anormal

onLocalDeviceException

Lorsque cette anomalie se produit, vérifiez si l'application dispose des permissions requises et si le matériel du périphérique fonctionne correctement.

Le service RTC prend en charge la détection et le diagnostic des périphériques. Lorsqu'un problème survient avec un périphérique local, le service RTC envoie un rappel à votre application. Si le SDK ne peut pas résoudre le problème seul, votre application doit intervenir pour vérifier le bon fonctionnement du périphérique.

Paramètres

Paramètre

Type

Description

listener

AliRtcEngineEventListener

Définit l'écouteur pour les événements de notification liés au comportement de l'utilisateur local.

setRtcEngineNotify

Définit un écouteur pour recevoir les événements de rappel des utilisateurs distants.

public abstract void setRtcEngineNotify(AliRtcEngineNotify listener);

Cette méthode configure les rappels d'événements liés aux utilisateurs distants, tels que les notifications de connexion ou de déconnexion, l'état de publication de leurs flux audio et vidéo, les changements de résolution, la transmission et la réception de la première trame et du premier paquet pour l'audio et la vidéo locaux et distants, l'état de lecture des effets sonores et de l'accompagnement audio locaux et distants, l'état de mise en sourdine, les statistiques des flux audio et vidéo locaux et distants, la réception SEI, la réception de messages personnalisés et les changements d'authentification. Les développeurs implémentent ces méthodes de rappel pour gérer les interactions avec les utilisateurs distants.

Remarque
  • Tous les rappels possèdent des implémentations par défaut vides. Il n'est pas nécessaire de tous les implémenter ; seuls ceux pertinents pour vos besoins métier sont requis.

  • Évitez d'effectuer des opérations longues dans les rappels, comme l'appel de la méthode destroy. Cela pourrait provoquer des blocages et nuire aux performances du SDK.

Moment de l'appel

Appelez cette méthode avant de rejoindre un canal.

Rappels associés

Lorsque des exceptions surviennent, le SDK tente d'abord des retries internes pour récupérer automatiquement. En cas d'échec, il notifie votre application via des rappels prédéfinis. Voici les principaux rappels nécessitant un traitement au niveau de l'application :

Cause de l'anomalie

Rappels et paramètres

Solutions

Remarque

Déconnexion

onBye

  • AliRtcOnByeUserReplaced : Vérifiez si les ID utilisateur sont identiques.

  • AliRtcOnByeBeKickedOut : L'utilisateur a été expulsé par l'application. Rejoignez à nouveau le canal.

  • AliRtcOnByeChannelTerminated : Le canal a été détruit. Rejoignez à nouveau le canal.

Le service RTC offre une fonctionnalité permettant aux administrateurs de supprimer des participants.

Expiration prochaine de l'authentification

onWillAuthInfoExpire

Si cette exception se produit, l'application doit obtenir à nouveau les informations d'authentification les plus récentes. Appelez ensuite refreshAuthInfo pour les actualiser.

Les erreurs d'expiration de l'authentification surviennent dans deux situations : lorsqu'un utilisateur appelle une API ou lors de l'exécution du programme. Par conséquent, le retour d'erreur est fourni via un rappel d'API ou un rappel d'erreur distinct.

Authentification expirée

onAuthInfoExpired

Lorsque cette erreur se produit, l'application doit rejoindre à nouveau la réunion.

L'expiration de l'authentification survient dans deux cas : lorsqu'un utilisateur appelle une API ou lors de l'exécution d'un programme. Par conséquent, le retour d'erreur apparaît sous forme de rappel d'API ou de rappel d'erreur distinct.

Paramètres

Paramètre

Type

Description

listener

AliRtcEngineNotify

Définit l'écouteur pour les événements de notification liés au comportement des utilisateurs distants afin de recevoir les messages du moteur.

getSdkVersion

Récupère la version actuelle du SDK.

public static String getSdkVersion();

Description de la valeur de retour

Numéro de version actuel du SDK, formaté sous forme de chaîne, par exemple « 2.5.0.x ».

setChannelProfile

Définit le profil du canal.

public abstract int setChannelProfile(AliRTCSdkChannelProfile channelProfile);

Cette méthode définit le profil du canal. Deux profils principaux sont actuellement pris en charge : l'appel vidéo et le streaming en direct interactif.

  • En mode appel vidéo, tous les utilisateurs sont des streamers et peuvent à la fois publier et tirer des flux audio et vidéo.

  • En mode streaming en direct interactif, vous devez appeler <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="18edf3ea54po4">setClientRole</a>. Pour les utilisateurs qui publient des flux dans le canal, définissez leur rôle sur streamer (AliRTCSdkInteractive). Si un utilisateur a seulement besoin de tirer des flux sans en publier, définissez son rôle sur viewer (AliRTCSdkLive). Ce mode est recommandé pour les scénarios RTC.

Remarque
  • Nous recommandons d'utiliser le mode streaming en direct interactif pour tous les scénarios RTC. Appelez cette méthode pour définir le profil sur AliRTCSdkInteractiveLive.

  • Tous les utilisateurs d'un même canal doivent utiliser le même profil de canal.

Moment de l'appel

Cette méthode ne peut être appelée qu'avant de rejoindre un canal. Le profil ne peut pas être modifié pendant que vous êtes dans un canal, mais peut l'être après l'avoir quitté.

Paramètres

Paramètre

Type

Description

channelProfile

AliRTCSdkChannelProfile

Type de canal. Pour tous les scénarios RTC, utilisez le mode interactif.

Description de la réponse

La valeur 0 indique un succès. Toute autre valeur indique un échec : 1 signifie que le SDK n'est pas initialisé ou a été détruit.

setAudioProfile

Définit les modes d'encodage audio et de scénario.

public abstract int setAudioProfile(AliRtcAudioProfile profile, AliRtcAudioScenario scenario);

Cette API définit le mode d'encodage audio et le mode de scénario. Consultez Opérations et configurations audio courantes. Le SDK ARTC utilise par défaut le mode audio haute qualité (AliRtcEngineHighQualityMode) et le mode scénario musical (AliRtcSceneMusicMode). Si les paramètres par défaut ne répondent pas à vos exigences, appelez cette API pour les modifier.

Moment de l'appel

Cette méthode ne peut être appelée qu'avant de rejoindre un canal. Les paramètres ne peuvent pas être modifiés après la jonction, mais peuvent l'être après avoir quitté le canal.

Paramètres

Paramètre

Type

Description

profile

AliRtcAudioProfile

Paramètre du mode de collecte ou d'encodage audio. Utilisez le mode haute qualité (AliRtcEngineHighQualityMode).

Remarque

Pour l'interopérabilité avec le web, définissez le taux d'échantillonnage sur 48 kHz.

  • AliRtcEngineLowQualityMode : Mode audio basse qualité. Taux d'échantillonnage par défaut de 8 000 Hz, canal sonore unique, débit binaire d'encodage maximal de 12 kbps.

  • AliRtcEngineBasicQualityMode : Mode qualité standard. Taux d'échantillonnage par défaut de 16 000 Hz, canal sonore unique, débit binaire d'encodage maximal de 24 kbps.

  • AliRtcEngineHighQualityMode : Taux d'échantillonnage par défaut de 48 000 Hz, canal sonore unique, débit binaire d'encodage maximal de 64 kbps.

  • AliRtcEngineStereoHighQualityMode : Mode stéréo haute qualité. Taux d'échantillonnage par défaut de 48 000 Hz, double canal sonore, débit binaire d'encodage maximal de 80 kbps.

  • AliRtcEngineSuperHighQualityMode : Mode super haute qualité. Taux d'échantillonnage par défaut de 48 000 Hz, canal sonore unique, débit binaire d'encodage maximal de 96 kbps.

  • AliRtcEngineStereoSuperHighQualityMode : Mode stéréo super haute qualité. Taux d'échantillonnage par défaut de 48 000 Hz, double canal sonore, débit binaire d'encodage maximal de 128 kbps.

scenario

AliRtcAudioScenario

Les paramètres du mode de scénario audio incluent :

  • AliRtcSceneMusicMode (paramètre recommandé) : Scénario musical. Utilise le 3A logiciel pour capturer l'audio depuis un téléphone mobile, offrant une qualité audio supérieure.

  • AliRtcSceneDefaultMode : Utilise le 3A matériel et peut capturer l'audio depuis un périphérique Bluetooth.

Remarque

Pour les versions v6.21 et ultérieures du SDK ARTC, ne définissez pas le scénario de salon de discussion (AliRtcSceneChatroomMode).

Description de la valeur de retour

0 : appel réussi. Inférieur à 0 : échec de l'appel.

isAudioOnly

Vérifie si le mode audio uniquement est activé.

public abstract boolean isAudioOnly();

Description de la valeur de retour

La valeur true indique le mode audio uniquement. La valeur false indique le mode audio-vidéo.

setAudioOnlyMode

Spécifie s'il faut activer le mode audio uniquement.

public abstract int setAudioOnlyMode(boolean audioOnly);

Paramètres

Paramètre

Type

Description

audioOnly

boolean

Définit le mode audio uniquement ou le mode audio-vidéo. Valeurs valides :

  • true : active la publication et le tirage de flux audio uniquement.

  • false (par défaut) : active la publication et le tirage de flux audio et vidéo.

Description de la réponse

La valeur 0 indique un succès. Toute autre valeur indique un échec.

joinChannel[1/3]

Rejoint un canal à l'aide d'un token à paramètre unique.

public abstract int joinChannel(String token, String channelId, String userId, String userName);

Cette méthode permet de rejoindre un canal. ARTC organise les utilisateurs en canaux. Un utilisateur doit rejoindre un canal pour publier ou s'abonner à des flux audio et vidéo. Cette méthode, joinChannel[2/3] et joinChannel[3/3] permettent toutes de rejoindre un canal. Elles diffèrent par leur méthode d'authentification et les informations utilisateur transmises :

  • Il s'agit d'une API de connexion à paramètre unique. Vous pouvez rejoindre un canal en transmettant un token généré via Authentification par token. Cette API est recommandée pour rejoindre des canaux dans des scénarios RTC.

  • joinChannel[2/3] est une API multi-paramètres pour rejoindre un canal. Vous devez transmettre le token multi-paramètres généré via Authentification par token, ainsi que les informations utilisateur utilisées pour générer ce token.

  • joinChannel[3/3] est conçue pour les scénarios d'interaction en temps réel avec l'IA. Transmettez un token à paramètre unique et définissez l'attribut utilisateur capabilityProfile selon le scénario.

Remarque

Par défaut, lorsque vous rejoignez un canal, vous vous abonnez aux flux audio et vidéo de tous les autres utilisateurs du canal et publiez vos propres flux vers les utilisateurs distants. Pour désactiver cet abonnement par défaut, appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="33438e1082mi8">setDefaultSubscribeAllRemoteAudioStreams</a> et <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="243e9483a0suk">setDefaultSubscribeAllRemoteVideoStreams</a> avant d'appeler cette méthode afin de désactiver l'abonnement aux flux audio ou vidéo.

Moment de l'appel

Appelez cette méthode après la création du moteur.

Limites

  • Après avoir rejoint un canal avec succès, si vous souhaitez en rejoindre un autre en cours de session, vous devez d'abord appeler <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="4de6ecc1a4pa2">leaveChannel</a> pour quitter le canal actuel et vous assurer de recevoir le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="70c68b0236xdt">onLeaveChannelResult</a> de AliRtcEngineEventListener. Ce n'est qu'alors que vous pourrez rejoindre un nouveau canal.

  • Cette méthode ne permet de rejoindre qu'un seul canal à la fois.

  • Les applications utilisant des App IDs différents ne peuvent pas interagir entre elles.

  • Aucun appel supplémentaire n'est nécessaire lors d'une nouvelle tentative après un échec de connexion au canal.

Callbacks associés

Suite à un appel réussi de cette méthode, les callbacks suivants sont déclenchés :

  • Le résultat de la connexion du client local au canal est notifié via le callback AliRtcEngineEventListener <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="712006e223y8z">onJoinChannelResult</a>.

  • Une fois le canal rejoint avec succès, le client distant déclenche le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="40a9273affui1">onRemoteUserOnLineNotify</a>.

Paramètres

Parameter

Type

Description

token

String

Informations d'authentification pour rejoindre une réunion avec un paramètre unique.

channelId

String

L'ID du canal à rejoindre doit correspondre à l'ID du canal utilisé pour générer le token.

userId

String

L'ID utilisateur pour rejoindre le canal doit correspondre à la valeur utilisée pour générer le token.

userName

String

Nom d'affichage de l'utilisateur. Il ne s'agit pas de l'ID utilisateur.

Description de la valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

joinChannel[2/3]

Rejoint un canal pour une conférence multipartite.

public abstract int joinChannel(AliRtcAuthInfo authInfo, String userName);

Cette méthode permet de rejoindre un canal. ARTC organise les utilisateurs en canaux. Un utilisateur doit rejoindre un canal pour publier ou s'abonner à des flux audio et vidéo. Cette méthode, joinChannel[1/3] et joinChannel[3/3] permettent toutes de rejoindre un canal. Elles diffèrent par leur méthode d'authentification et les informations utilisateur transmises :

  • joinChannel[1/3] est l'interface à paramètre unique pour rejoindre un canal. Pour rejoindre un canal, transmettez un token généré via Authentification par token. Cette interface est recommandée pour rejoindre un canal dans des scénarios RTC.

  • Cette interface est une interface multi-paramètres pour rejoindre un canal. Elle nécessite la transmission d'un token multi-paramètres généré via Authentification par token, ainsi que les informations utilisateur utilisées pour générer ce token.

  • joinChannel[3/3] est destinée aux scénarios d'interaction en temps réel avec l'IA. Transmettez un token à paramètre unique et définissez l'attribut utilisateur capabilityProfile.

Remarque
  • En l'absence de configuration spécifique, vous vous abonnez par défaut aux flux audio et vidéo de tous les autres utilisateurs du canal lors de la connexion, et publiez vos propres flux vers les utilisateurs distants. Pour désactiver l'abonnement par défaut, appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="474adcf738uxu">setDefaultSubscribeAllRemoteAudioStreams</a> et setDefaultSubscribeAllRemoteVideoStreams avant d'appeler cette interface afin de désactiver l'abonnement aux flux audio ou vidéo.

  • Cette API permet de rejoindre un canal avec plusieurs paramètres. Avant d'appeler cette API, reportez-vous à Authentification par token pour générer le token requis.

Limites

  • Après avoir rejoint un canal avec succès, si vous souhaitez en rejoindre un autre pendant la session, vous devez d'abord appeler <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="e2525ba6a0k3s">leaveChannel</a> pour quitter le canal actuel et vous assurer de recevoir le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="6aefdfedb0op3">onLeaveChannelResult</a> de AliRtcEngineEventListener. Ce n'est qu'alors que vous pourrez rejoindre un nouveau canal.

  • Cette méthode ne permet de rejoindre qu'un seul canal à la fois.

  • Les applications utilisant des App IDs différents ne peuvent pas interagir entre elles.

Callbacks associés

Suite à un appel réussi de cette méthode, les callbacks suivants sont déclenchés :

  • Le résultat de la connexion du client local au canal est notifié via le callback AliRtcEngineEventListener <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="fb41cdcfc6acj">onJoinChannelResult</a>.

  • Une fois le canal rejoint avec succès, le côté distant déclenche le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="8e9d69ebe54sr">onRemoteUserOnLineNotify</a>.

Paramètres

Parameter

Type

Description

authInfo

AliRtcAuthInfo

Informations d'authentification. Le token est un token multi-paramètres. Les autres paramètres liés à la génération du token doivent correspondre à ceux utilisés lors de sa génération et ne doivent pas être vides.

userName

String

Nom d'affichage de l'utilisateur. Il ne s'agit pas de l'ID utilisateur. Ce champ peut être vide.

Description de la valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

joinChannel[3/3]

Rejoint un canal pour les scénarios d'interaction en temps réel avec l'IA.

public abstract int joinChannel(String token, AliRTCSdkChannelParam channelParam);

Cette méthode permet de rejoindre un canal. ARTC organise les utilisateurs en canaux. Un utilisateur doit rejoindre un canal pour publier ou s'abonner à des flux audio et vidéo. Cette méthode, joinChannel[1/3] et joinChannel[2/3] permettent toutes de rejoindre un canal. Elles diffèrent par leur méthode d'authentification et les informations utilisateur transmises :

  • joinChannel[1/3] est une interface de connexion à paramètre unique pour les scénarios RTC. Vous pouvez rejoindre un canal en transmettant un token généré via Authentification par token. Nous recommandons d'utiliser cette interface pour rejoindre un canal dans des scénarios RTC.

  • joinChannel[2/3] est une interface pour la connexion de plusieurs participants. Elle nécessite la transmission du token généré via Authentification par token pour la connexion multipartite, ainsi que les informations utilisateur utilisées pour générer ce token.

  • Cette méthode est destinée aux scénarios d'interaction en temps réel avec l'IA. Transmettez un token à paramètre unique et définissez l'attribut utilisateur capabilityProfile. Définissez-le sur AliCapabilityProfileAiHuman lors de communications avec des agents IA.

Remarque

Par défaut, lorsque vous rejoignez un canal, vous vous abonnez aux flux audio et vidéo de tous les autres utilisateurs du canal et publiez vos propres flux vers les utilisateurs distants. Pour désactiver l'abonnement par défaut, appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="5423d42229iih">setDefaultSubscribeAllRemoteAudioStreams</a> avant d'appeler cette API afin de désactiver l'abonnement aux flux audio, ou appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="0112175788ybe">setDefaultSubscribeAllRemoteVideoStreams</a> pour désactiver l'abonnement aux flux vidéo.

Limites

  • Après avoir rejoint un canal avec succès, si vous souhaitez en rejoindre un autre alors que vous êtes déjà dans un canal, vous devez d'abord appeler <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="719d580348a95">leaveChannel</a> pour quitter le canal actuel et vous assurer de recevoir le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="d128acfee2fpd">onLeaveChannelResult</a> de AliRtcEngineEventListener. Ce n'est qu'alors que vous pourrez rejoindre un nouveau canal.

  • Cette méthode ne permet de rejoindre qu'un seul canal à la fois.

  • Les applications utilisant des App IDs différents ne peuvent pas interagir entre elles.

  • Il n'est pas nécessaire d'appeler à nouveau la méthode pour réessayer une connexion au canal ayant échoué.

Callbacks associés

Suite à un appel réussi de cette méthode, les callbacks suivants sont déclenchés :

  • Le résultat de la connexion du client local au canal est signalé via le callback AliRtcEngineEventListener <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="879ae2fa04zjd">onJoinChannelResult</a>.

  • Une fois le canal rejoint avec succès, les utilisateurs distants déclenchent le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="9b5662c5a0nvf">onRemoteUserOnLineNotify</a>.

Paramètres

Parameter

Type

Description

token

String

Token permettant de rejoindre un canal.

channelParam

AliRTCSdkChannelParam

Paramètres pour rejoindre un canal. Ils sont principalement utilisés dans les scénarios d'interaction en temps réel assistés par IA et comprennent les éléments suivants :

  • channelId : ID du canal. Doit correspondre à l'ID du canal utilisé lors de la génération du token. Ce paramètre peut être omis.

  • userId : ID utilisateur utilisé pour rejoindre le canal. Doit correspondre à l'ID utilisateur utilisé lors de la génération du token. Ce paramètre peut être omis.

  • userName : Nom d'affichage de l'utilisateur. Ne correspond pas à l'ID utilisateur. Ce paramètre peut être omis.

  • capabilityProfile : Propriété utilisateur. Configurez-la spécifiquement pour les scénarios d'appel d'agent IA. Utilisez la valeur par défaut pour les scénarios sans agent IA.

Description de la valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

leaveChannel

Quitte un canal. Après l'appel de cette méthode, le SDK met fin à la communication en temps réel et quitte le canal actuel.

public abstract int leaveChannel();
Remarque
  • Cette méthode est une opération asynchrone. Même si l'appel réussit, le SDK ne quitte pas immédiatement le canal ; vous devez attendre que le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="7e49937108skj">onLeaveChannelResult</a> soit invoqué pour que le canal soit effectivement quitté.

  • Une fois leaveChannel terminé, détruisez le moteur et définissez l'objet moteur sur null.

    mAliRtcEngine.leaveChannel();
    mAliRtcEngine.destroy();
    mAliRtcEngine = null;

Moment de l'appel

  • Appelez cette méthode lorsque vous devez quitter un canal après l'avoir rejoint.

  • Si vous avez rejoint un canal et devez en rejoindre un autre, appelez d'abord cette méthode.

Callbacks associés

  • Côté local : Après l'appel de cette méthode, le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="80f5e30245vfn">onLeaveChannelResult</a> est déclenché pour vous notifier du résultat de la sortie du canal.

  • Côté distant : Suite à un appel réussi de cette opération, les utilisateurs distants déclenchent le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#75c700a2376c1" id="69bf5ff199oda">onRemoteUserOffLineNotify</a>.

Description de la valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

isInCall

Vérifie si vous êtes actuellement dans un canal.

public abstract boolean isInCall();

Description de la valeur de retour

La valeur true indique que vous êtes dans un canal. La valeur false indique que vous n'êtes pas dans un canal.

setClientRole

Spécifie le rôle de l'utilisateur.

public abstract int setClientRole(AliRTCSdkClientRole clientRole);

Cette méthode définit le rôle de l'utilisateur en tant que diffuseur ou spectateur.

En mode interactif, avant de rejoindre un canal :

  • Définissez le rôle utilisateur sur diffuseur : Le SDK ingère automatiquement les flux audio et vidéo locaux et récupère les flux audio et vidéo des autres diffuseurs.

  • Définissez le rôle utilisateur sur spectateur : Le SDK n'ingère pas les flux audio et vidéo locaux, mais récupère les flux audio et vidéo des autres diffuseurs.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal. Vous pouvez définir le rôle avant la connexion ou changer de rôle après la connexion.

Limites

Cette méthode fonctionne uniquement en mode interactif, c'est-à-dire lorsque setChannelProfile est défini sur AliRTCSdkInteractiveLive.

Nous recommandons de définir explicitement le rôle de l'utilisateur avant de rejoindre un canal en mode interactif.

Paramètres

Parameter

Type

Description

clientRole

AliRTCSdkClientRole

Type de rôle utilisateur. Ce rôle s'applique uniquement en mode interactif.

getCurrentClientRole

Interroge le rôle de l'utilisateur.

public abstract AliRTCSdkClientRole getCurrentClientRole();

Description de la valeur de retour

Retourne le rôle actuel de l'utilisateur.

refreshAuthInfo[1/2]

Actualise les informations d'authentification.

public abstract int refreshAuthInfo(AliRtcAuthInfo authInfo);

Cette méthode met à jour les informations d'authentification. Les tokens expirent après un certain temps, empêchant le SDK de se connecter au serveur.

Remarque

Cette API et l'API refreshAuthInfo[2/2] permettent toutes deux de mettre à jour les informations d'authentification. Cependant, cette API met à jour les tokens pour les réunions multi-participants, tandis que l'API refreshAuthInfo[2/2] met à jour les tokens pour les réunions à participant unique. Pour plus d'informations sur la génération de tokens, consultez Authentification par token.

Moment de l'appel

Dans les situations suivantes :

  • Lorsque vous recevez le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e9acb46a25uym" id="7e1510bec7s3s">onAuthInfoWillExpire</a> indiquant que les informations d'authentification sont sur le point d'expirer, nous vous recommandons de régénérer le token côté serveur, puis d'appeler cette méthode pour transmettre le nouveau token.

  • Si vous ne mettez pas à jour le token à temps, le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8fa7e60f9f5qq" id="97664f9e46fhp">onAuthInfoExpired</a> est déclenché pour vous notifier que l'authentification a expiré. À ce stade, vous devez régénérer le token, puis appeler joinChannel pour rejoindre à nouveau le canal.

Paramètres

Parameter

Type

Description

authInfo

AliRtcAuthInfo

Informations d'authentification.

Description de la valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

refreshAuthInfo[2/2]

Actualise les informations d'authentification.

public abstract int refreshAuthInfo(String token);

Cette méthode met à jour le token. Les tokens expirent après un certain temps, empêchant le SDK de se connecter au serveur.

Remarque

Cette API et l'opération refreshAuthInfo[1/2] permettent toutes deux de mettre à jour les informations d'authentification. Cette API met à jour le token pour rejoindre une réunion avec un paramètre unique, tandis que refreshAuthInfo[1/2] met à jour le token pour rejoindre une réunion avec plusieurs paramètres. La génération de tokens est traitée dans Authentification par token.

Moment de l'appel

Nous recommandons de régénérer le token sur votre serveur et d'appeler cette méthode avec le nouveau token dans les cas suivants :

  • Lorsque le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e9acb46a25uym" id="d708af68eevs9">onAuthInfoWillExpire</a> signale que les informations d'authentification sont sur le point d'expirer.

  • Si vous ne mettez pas à jour le token à temps, cela déclenchera <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8fa7e60f9f5qq" id="3fd674e985gl8">onAuthInfoExpired</a> pour notifier que l'authentification a expiré. À ce stade, vous devez appeler joinChannel pour rejoindre à nouveau le canal.

Paramètres

Parameter

Type

Description

token

String

Informations d'authentification pour une entrée à paramètre unique.

Description de la valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

publishLocalAudioStream

Permet d'arrêter ou de reprendre la publication du flux audio local.

public abstract int publishLocalAudioStream(boolean enable);

Cette méthode contrôle la publication du flux audio capturé localement. Par défaut, le SDK publie le flux audio. Pour désactiver la publication du flux audio, appelez publishLocalAudioStream(false) avant de rejoindre le canal.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal. L'appeler avant la connexion modifie la configuration par défaut et prend effet dès la connexion.

Callbacks associés

Lorsque le résultat de l'ingestion du flux audio local change, le client local déclenche le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b7e3bb51c2ga9" id="4ced92c3f5hmj">onAudioPublishStateChanged</a> pour vous notifier que l'état d'ingestion du flux audio local a changé, et le client distant déclenche le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7078e15087a0z" id="2b5460d448ga9">onRemoteTrackAvailableNotify</a> pour vous notifier que les flux audio et vidéo de l'utilisateur distant ont changé.

Paramètres

Parameter

Type

Description

enable

boolean

Spécifie s'il faut publier le flux audio. Valeurs valides :

  • true (par défaut) : Publie le flux audio.

  • false : Ne publie pas le flux audio.

Description de la valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

isLocalAudioStreamPublished

Vérifie si un flux audio est publié.

public abstract boolean isLocalAudioStreamPublished();

Instructions de retour

La valeur true indique que le flux audio est publié. La valeur false indique que le flux audio n'est pas publié.

setDefaultSubscribeAllRemoteAudioStreams

Spécifie s'il faut s'abonner par défaut aux flux audio des utilisateurs distants.

public abstract int setDefaultSubscribeAllRemoteAudioStreams(boolean sub);

Cette méthode configure l'abonnement par défaut du système aux flux audio des utilisateurs distants. Ce paramètre affecte le comportement d'abonnement aux flux audio des nouveaux utilisateurs rejoignant le canal. Sauf exigence spécifique, nous recommandons de le définir sur true.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

  • Avant de rejoindre :

    • Par défaut, le SDK s'abonne aux flux audio des utilisateurs distants lors de la connexion à un canal. Pour modifier ce comportement, appelez cette méthode avant de rejoindre.

  • Après avoir rejoint :

    • Pour arrêter l'abonnement par défaut, appelez setDefaultSubscribeAllRemoteAudioStreams(false). Dès lors, les flux audio des nouveaux utilisateurs ne feront plus l'objet d'un abonnement automatique.

    • Après avoir arrêté l'abonnement par défaut, vous pouvez appeler l'API subscribeRemoteAudioStream pour reprendre l'abonnement au flux audio d'un utilisateur spécifique, et l'appeler plusieurs fois pour reprendre l'abonnement pour plusieurs utilisateurs.

    • Après l'arrêt de l'abonnement par défaut, l'appel de setDefaultSubscribeAllRemoteAudioStreams(true) ne reprend l'abonnement que pour les utilisateurs qui rejoignent après cet appel. Cela ne rétablit pas l'abonnement pour les utilisateurs distants qui ont rejoint pendant la période d'interruption.

Paramètres

Parameter

Type

Description

sub

boolean

Indique s'il faut accepter les flux audio par défaut. Les valeurs valides sont :

  • true (par défaut) : Accepte les flux audio.

  • false : Ne s'abonne pas aux pistes audio des utilisateurs distants.

Description de la valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

subscribeRemoteAudioStream

Arrête ou reprend la récupération du flux audio d'un utilisateur distant spécifique.

public abstract int subscribeRemoteAudioStream(String uid, boolean sub);

Cette méthode arrête ou reprend l'abonnement au flux audio d'un utilisateur distant spécifique. Sauf exigence particulière, nous recommandons de définir cette valeur sur true.

Remarque

Le SDK s'abonne par défaut aux flux audio de tous les utilisateurs distants lors de la connexion à une réunion. Pour modifier ce comportement, vous pouvez appeler <a baseurl="t2309760_v6_1_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="d319c7806ej0h">setDefaultSubscribeAllRemoteAudioStreams</a>(false) avant de rejoindre une réunion afin de désactiver cette configuration par défaut.

Paramètres

Parameter

Type

Description

uid

String

ID de l'utilisateur distant.

sub

boolean

Spécifie s'il faut suspendre ou reprendre l'abonnement au flux audio d'un utilisateur distant spécifique.

  • true (par défaut) : Reprend l'abonnement.

  • false : Arrête l'opération.

Description de la valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

subscribeAllRemoteAudioStreams

Spécifie s'il faut recevoir les flux audio de tous les utilisateurs distants.

public abstract int subscribeAllRemoteAudioStreams(boolean sub);

Cette méthode agit comme interrupteur principal pour l'abonnement aux flux audio distants. Nous recommandons de la définir sur true. Si elle est définie sur false, cela entraîne :

  • L'arrêt de l'abonnement à tous les flux audio distants de la session en cours.

  • Les nouveaux utilisateurs qui rejoignent ultérieurement ne font pas non plus l'objet d'un abonnement.

  • L'impossibilité d'utiliser <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e09342eeb0z4k" id="a56b5f2a3f56k">subscribeRemoteAudioStream</a> pour contrôler individuellement le flux audio d'un utilisateur spécifié.

Pour reprendre l'abonnement, appelez à nouveau cette méthode et définissez-la sur true.

Remarque

Le SDK s'abonne par défaut aux flux audio de tous les utilisateurs distants lorsque vous rejoignez une réunion. Pour modifier ce comportement, vous pouvez appeler <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="5a57cb846fzb2">setDefaultSubscribeAllRemoteAudioStreams</a>(false) avant de rejoindre une réunion afin de désactiver cette configuration par défaut.

Paramètres

Paramètre

Type

Description

sub

boolean

Indique s'il faut recevoir tous les flux audio distants. Valeurs valides :

  • true (par défaut) : reçoit tous les flux audio distants.

  • false : ne reçoit pas les flux audio distants.

Description de la valeur de retour

Une valeur de 0 indique un succès. Toute autre valeur signale un échec.

publishLocalVideoStream

Détermine si le flux de la caméra doit être publié.

public abstract int publishLocalVideoStream(boolean enable);

Cette méthode permet de contrôler la publication du flux vidéo capturé localement.

Remarque

Le SDK publie le flux vidéo par défaut. Pour désactiver cette publication, appelez publishLocalVideoStream(false) avant de rejoindre le canal.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Un appel effectué avant la connexion modifie la configuration par défaut et prend effet dès l'entrée dans le canal.

Callbacks associés

Lorsque l'état de l'ingestion du flux audio local change, le terminal local déclenche le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#afe6d3c4b1rvg" id="8b70bc353aj68">onVideoPublishStateChanged</a> pour notifier le dernier état d'ingestion du flux audio. Parallèlement, le terminal distant déclenche le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7078e15087a0z" id="176ee94b46lb7">onRemoteTrackAvailableNotify</a> afin de signaler que les flux audio et vidéo de l'utilisateur distant ont changé.

Paramètres

Paramètre

Type

Description

enable

boolean

Spécifie si la piste vidéo doit être publiée. Valeurs valides :

  • true (par défaut) : publie la piste vidéo.

  • false : ne publie pas la piste vidéo.

Description de la valeur de retour

Une valeur de 0 indique un succès. Toute autre valeur signale un échec.

isLocalVideoStreamPublished

Vérifie si un flux de caméra est publié.

public abstract boolean isLocalVideoStreamPublished();

Description de la valeur de retour

La valeur true signifie que le flux de la caméra est publié. La valeur false indique qu'il ne l'est pas.

setDefaultSubscribeAllRemoteVideoStreams

Définit l'abonnement par défaut aux flux vidéo des utilisateurs distants.

public abstract int setDefaultSubscribeAllRemoteVideoStreams(boolean sub);

Cette méthode détermine si les flux vidéo des utilisateurs distants sont abonnés par défaut. Le SDK active cet abonnement automatiquement.

Moment de l'appel

Cet appel peut être effectué avant ou après la connexion au canal. Si vous appelez setDefaultSubscribeAllRemoteVideoStreams(false) après avoir rejoint le canal, vous ne recevrez plus les flux vidéo des utilisateurs se connectant ultérieurement.

Après l'arrêt de la réception des flux vidéo, utilisez subscribeRemoteVideoStream en spécifiant l'ID de l'utilisateur distant pour reprendre la réception de son flux. Pour rétablir plusieurs flux, il est nécessaire d'appeler subscribeRemoteVideoStream à plusieurs reprises. L'appel à setDefaultSubscribeAllRemoteVideoStreams(true) ne rétablit que la réception des flux pour les utilisateurs rejoignant le canal par la suite.

Cette méthode configure l'abonnement par défaut aux flux vidéo des utilisateurs distants.

Remarque

Par défaut, le SDK s'abonne aux flux audio et vidéo des utilisateurs distants lors de la connexion au canal. Pour modifier ce comportement, appelez cette méthode avant de rejoindre le canal.

Paramètres

Paramètre

Type

Description

sub

boolean

Indique s'il faut s'abonner aux pistes vidéo des utilisateurs distants. Valeurs valides :

  • true (par défaut) : accepte par défaut.

  • false : n'accepte pas. Il s'agit de la valeur par défaut.

Description de la valeur de retour

Une valeur de 0 indique un succès. Toute autre valeur signale un échec.

subscribeRemoteVideoStream

Interrompt ou reprend l'abonnement à un flux vidéo distant spécifique.

public abstract int subscribeRemoteVideoStream(String uid, AliRtcVideoTrack track, boolean sub);

Permet de s'abonner ou de se désabonner du flux vidéo d'un utilisateur donné.

Remarque

Par défaut, le SDK s'abonne aux flux vidéo de tous les utilisateurs distants lorsque vous rejoignez une réunion. Pour modifier ce comportement, appelez <a baseurl="t2309760_v6_1_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="2a6fd8903ce5s">setDefaultSubscribeAllRemoteVideoStreams</a>(false) avant de rejoindre la réunion afin d'annuler cette configuration par défaut.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

uid

String

ID utilisateur

track

AliRtcVideoTrack

Type de flux vidéo.

sub

boolean

Détermine la réception du flux vidéo d'un utilisateur spécifique.

  • true : reçoit le flux vidéo de l'utilisateur spécifié.

  • false : arrête la réception du flux vidéo de l'utilisateur spécifié.

Description de la valeur de retour

  • 0 : la méthode a été exécutée avec succès.

  • Différent de zéro : échec de la méthode.

subscribeAllRemoteVideoStreams

Arrête ou reprend la réception de tous les flux vidéo distants.

public abstract int subscribeAllRemoteVideoStreams(boolean sub);

Cette méthode agit comme un interrupteur général pour l'abonnement aux flux vidéo distants. Si elle est définie sur false, cela entraîne :

  • L'arrêt de l'abonnement à tous les flux vidéo distants de la session en cours.

  • L'absence d'abonnement pour les nouveaux utilisateurs se connectant ultérieurement (même si vous avez activé l'abonnement par défaut via setDefaultSubscribeAllRemoteVideoStreams(true)).

  • L'impossibilité d'utiliser <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b738a1b498bc1" id="19b0cea8593i5">subscribeRemoteVideoStream</a> pour contrôler individuellement le flux vidéo d'un utilisateur donné.

Pour reprendre l'abonnement, rappelez cette méthode en la définissant sur true.

Remarque

Par défaut, le SDK s'abonne aux flux vidéo de tous les utilisateurs distants lors de la connexion au canal. Pour changer ce comportement, appelez setDefaultSubscribeAllRemoteVideosStreams(false) avant de rejoindre le canal.

Paramètres

Paramètre

Type

Description

sub

boolean

Indique s'il faut s'abonner aux pistes vidéo de tous les utilisateurs distants. Valeurs valides :

  • true (par défaut) : reprend l'abonnement.

  • false : arrête l'opération.

Description de la valeur de retour

Une valeur de 0 indique un succès. Toute autre valeur signale un échec.

subscribeRemoteMediaStream[1/2]

Interrompt ou reprend le flux multimédia d'un utilisateur distant spécifique.

public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, boolean subVideo, boolean subAudio);

Cette méthode combine l'abonnement aux flux audio et vidéo distants.

Remarque

Dans cette méthode, AliRtcVideoTrackNo est invalide et sera ignoré.

Méthodes associées

Contrairement à <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#4cec275051vr6" id="faff82a053mev">subscribeRemoteMediaStream[2/2]</a>, cette API utilise deux paramètres booléens, subVideo et subAudio, pour déterminer l'abonnement aux flux audio et vidéo distants. Le paramètre videoTrack contrôle quel flux vidéo doit être récupéré.

Paramètres

Paramètre

Type

Description

uid

String

L'ID de l'utilisateur distant.

videoTrack

AliRtcVideoTrack

Le type de flux vidéo.

subVideo

boolean

Détermine l'abonnement au flux vidéo de l'utilisateur distant. Valeurs valides :

  • true (par défaut) : reprend l'abonnement.

  • false : arrête l'opération.

subAudio

boolean

Arrête ou reprend la récupération du flux audio d'un utilisateur distant spécifique. Valeurs valides :

  • true (par défaut) : reprend la récupération.

  • false : arrête la récupération.

Description de la valeur de retour

Une valeur de 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

subscribeRemoteMediaStream[2/2]

Arrête ou reprend l'abonnement aux flux audio et vidéo d'un utilisateur distant en un seul appel.

public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, AliRtcAudioTrack audioTrack) ;

Cette interface fusionne les abonnements aux flux audio et vidéo distants.

Méthodes associées

Contrairement à subscribeRemoteMediaStream[1/2], cette méthode utilise les paramètres videoTrack et audioTrack pour définir l'état d'abonnement souhaité via un unique appel API. Par exemple :

  • Pour vous abonner simultanément au flux de la caméra et à celui du microphone, définissez respectivement videoTrack et audioTrack sur AliRtcVideoTrackCamera et AliRtcAudioTrackMic lors de l'appel.

  • Pour vous désabonner du flux de la caméra tout en conservant celui du microphone, définissez le paramètre videoTrack sur AliRtcVideoTrackNo et le paramètre audioTrack sur AliRtcAudioTrackMic.

  • Pour vous désabonner des deux flux, définissez videoTrack et audioTrack respectivement sur AliRtcVideoTrackNo et AliRtcAudioTrackNo.

  • Pour vous abonner à la fois au flux de la caméra et au flux de partage d'écran, définissez le paramètre videoTrack sur AliRtcVideoTrackBoth. La même logique s'applique aux flux audio.

Paramètres

Paramètre

Type

Description

uid

String

L'ID utilisateur est un identifiant unique attribué par le serveur de l'application.

videoTrack

AliRtcVideoTrack

Le type de flux vidéo.

audioTrack

AliRtcAudioTrack

Le type de flux audio.

Description de la valeur de retour

  • 0 : succès.

  • <0 : échec.

subscribeRemoteDestChannelStream

S'abonne au flux d'un utilisateur spécifique entre canaux.

public abstract int subscribeRemoteDestChannelStream(String channelId, String uid, AliRtcVideoTrack track, boolean sub_audio, boolean sub);

Paramètres

Paramètre

Type

Description

channelId

String

L'ID du canal distant.

uid

String

L'ID de l'utilisateur distant.

track

AliRtcVideoTrack

Le flux vidéo auquel s'abonner.

sub_audio

boolean

Contrôle l'arrêt ou la reprise de la récupération du flux audio d'un utilisateur distant spécifique. Valeurs valides :

  • true (par défaut) : reprend la récupération.

  • false : arrête l'opération.

sub

boolean

Arrête ou reprend l'abonnement au flux d'un utilisateur spécifié entre canaux.

Description de la valeur de retour

Une valeur de retour de 0 indique que l'appel de la méthode a réussi, tandis que toute autre valeur signale un échec.

subscribeRemoteDestChannelAllStream

Arrête ou reprend l'abonnement aux flux de tous les utilisateurs entre canaux.

public abstract int subscribeRemoteDestChannelAllStream(String channelId, AliRtcVideoTrack track, boolean sub_audio, boolean sub);

Paramètres

Paramètre

Type

Description

channelId

String

L'ID du canal cible distant.

videoTrack

AliRtcVideoTrack

Le type de flux vidéo auquel s'abonner.

sub_audio

boolean

Détermine l'abonnement au flux audio d'un utilisateur distant.

  • true : s'abonne au flux audio de l'utilisateur dans le canal cible.

  • false : arrête l'abonnement au flux audio de l'utilisateur dans le canal cible.

sub

boolean

Arrête ou reprend les abonnements inter-canaux pour un flux utilisateur spécifié.

  • true : s'abonne.

  • false : se désabonne.

Description de la valeur de retour

  • 0 : l'appel de la méthode a réussi.

  • Différent de zéro : l'appel de la méthode a échoué.

setRemoteAudioVolume

Ajuste le volume de lecture du flux audio récupéré.

public abstract int setRemoteAudioVolume(String uid, int volume);

Utilisez cette méthode pour ajuster le volume de lecture du flux audio d'un utilisateur spécifique sur l'appareil local.

Remarque

Ce réglage affecte uniquement l'expérience d'écoute sur l'appareil local.

Paramètres

Paramètre

Type

Description

uid

String

ID utilisateur. Identité unique de l'utilisateur, généralement attribuée par le serveur de l'application.

volume

int

Volume de lecture, dont la plage de valeurs est [0, 100].

  • 0 : muet.

  • 100 : volume d'origine.

Description de la valeur de retour

  • 0 : l'appel de la méthode a réussi.

  • Différent de zéro : l'appel de la méthode a échoué, par exemple en raison d'une valeur de volume invalide.

muteLocalMic

Arrête ou reprend l'envoi des données audio locales.

public abstract int muteLocalMic(boolean mute, AliRtcMuteLocalAudioMode mode);
Remarque

La mise en sourdine envoie des trames silencieuses. La capture et l'encodage audio continuent de fonctionner.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Callbacks associés

Une fois l'appel réussi, l'utilisateur distant déclenche la notification <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#ea457055e4izi" id="cce3d390a3xud">onUserAudioMuted</a> pour indiquer s'il est mis en sourdine.

Paramètres

Paramètre

Type

Description

mute

boolean

Arrête ou reprend l'envoi des données audio locales. Valeurs valides :

  • true : met l'audio local en sourdine et envoie des trames muettes.

  • false (par défaut) : reprend l'envoi.

mode

AliRtcMuteLocalAudioMode

Le mode de mise en sourdine. Par défaut, le microphone est coupé.

Description de la valeur de retour

Une valeur de retour de 0 indique un succès. Toute autre valeur signale un échec. La mise en sourdine envoie des trames silencieuses, mais la capture et l'encodage audio continuent de fonctionner.

muteRemoteAudioPlaying

Arrête ou reprend la lecture du flux audio distant.

public abstract int muteRemoteAudioPlaying(String uid, boolean mute);

Cette API contrôle uniquement la lecture du flux audio d'un utilisateur distant spécifique. Elle n'affecte ni la récupération ni le décodage du flux audio distant. Pour vous désabonner du flux audio d'un utilisateur, appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e09342eeb0z4k" id="66a2ef0919jjg">subscribeRemoteAudioStream</a>.

Moment de l'appel

Vous pouvez configurer ce paramètre avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

uid

String

L'ID de l'utilisateur distant.

mute

boolean

Arrête ou reprend la lecture audio distante. Valeurs valides :

  • true : arrête la lecture.

  • false (par défaut) : reprend la lecture.

Description de la valeur de retour

Une valeur de retour de 0 indique un succès. Toute autre valeur signale un échec.

muteAllRemoteAudioPlaying

Arrête ou reprend la lecture de tous les flux audio distants.

public abstract int muteAllRemoteAudioPlaying(boolean mute);

Cette méthode arrête ou reprend l'ensemble des flux audio distants.

Remarque

Cette méthode arrête uniquement la lecture. La récupération et le décodage des flux ne sont pas affectés.

Moment de l'appel

Vous pouvez configurer ce paramètre avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

mute

boolean

Arrête ou reprend la lecture de tous les flux audio distants. Les valeurs valides sont :

  • true : arrête la lecture.

  • false (par défaut) : reprend la lecture.

Description de la valeur de retour

Une valeur de 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

startAudioCapture[1/2]

Démarre la capture audio.

public abstract int startAudioCapture();

Cette méthode lance la capture audio. Vous pouvez l'appeler avant de rejoindre un canal pour activer la capture audio à l'avance. En l'absence de cet appel, le SDK gère automatiquement le périphérique de capture audio. Vous pouvez également utiliser cette méthode pour réactiver la capture audio après avoir appelé stopAudioCapture.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Méthodes associées

L'API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b71a48f4b84n0" id="4565abdceeq8i">startAudioCapture[2/2]</a> utilise des paramètres pour contrôler si le périphérique de capture audio reste activé après votre départ de la réunion.

Callbacks associés

Après l'appel de cette méthode, le callback onLocalAudioStateChanged vous notifie du changement d'état de la capture audio locale.

Description de la valeur de retour

Une valeur de 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

startAudioCapture[2/2]

Démarre la capture audio.

public abstract int startAudioCapture(boolean keepAlive);

Désactive la capture du microphone après la mise en sourdine.

Cette méthode lance la capture audio. Vous pouvez l'appeler avant de rejoindre un canal pour activer la capture audio à l'avance. Si vous ne configurez pas cette méthode, le SDK gère automatiquement le périphérique de capture audio.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Méthodes associées

Contrairement à startAudioCapture[1/2], cette méthode permet de contrôler si le périphérique de capture reste actif après avoir quitté un canal grâce au paramètre keepAlive.

Callbacks associés

Après avoir appelé cette méthode pour modifier l'état de la capture audio locale, vous pouvez récupérer les changements d'état via le callback onLocalAudioStateChanged.

Paramètres

Paramètre

Type

Description

keepAlive

boolean

État du périphérique de capture audio après votre départ d'un canal. Valeurs valides :

  • true : le périphérique de capture audio reste activé après avoir quitté un canal.

  • false (par défaut) : le périphérique de capture audio s'arrête après avoir quitté un canal.

Description de la valeur de retour

Une valeur de retour égale à 0 indique un succès. Toute autre valeur signale un échec.

stopAudioCapture

Arrête la capture audio.

public abstract int stopAudioCapture();

Le SDK active la capture audio par défaut. Lorsque vous lancez une prévisualisation ou rejoignez un canal, la capture audio démarre automatiquement. Appelez cette méthode pour arrêter la capture par le périphérique audio.

Callbacks associés

Après l'appel de cette méthode, le SDK déclenche le callback onLocalAudioStateChanged pour signaler le changement d'état de la capture audio locale.

Description de la valeur de retour

Une valeur de retour égale à 0 indique que l'appel a réussi. Toute autre valeur signifie que l'appel a échoué.

setDefaultAudioRoutetoSpeakerphone

Définit si le haut-parleur constitue le périphérique de sortie audio par défaut.

public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeakerphone);

Cette méthode configure le périphérique de routage audio par défaut avant de rejoindre un canal. Vous pouvez définir la sortie par défaut sur l'écouteur ou le haut-parleur. Par défaut, le SDK utilise le haut-parleur. Pour modifier ce comportement, appelez cette méthode avant de rejoindre un canal.

Le SDK applique une priorité de routage audio qui bascule automatiquement selon l'état de connexion des périphériques, dans l'ordre suivant : wired headset > Bluetooth headset > user settings > default settings. Ainsi, en l'absence de périphérique connecté et si enableSpeakerphone n'est pas défini, le SDK applique les paramètres par défaut.

Paramètres de routage audio.

Les appareils mobiles prennent généralement en charge deux périphériques de sortie audio : l'écouteur et le haut-parleur :

  • Lorsque l'audio est dirigé vers l'écouteur, le volume est plus faible et nécessite de tenir le téléphone près de l'oreille, ce qui offre une meilleure confidentialité et convient aux appels téléphoniques.

  • Lorsque l'audio est dirigé vers le haut-parleur, le volume est plus élevé et permet une utilisation mains libres sans tenir le téléphone contre l'oreille.

Méthodes associées

Cette méthode modifie la configuration de routage audio par défaut. La méthode enableSpeakerphone définit le périphérique de routage audio actuel.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

defaultToSpeakerphone

boolean

Utiliser le haut-parleur par défaut ?

  • true : mode haut-parleur (haut-parleur par défaut).

  • false : mode écouteur.

Description de la réponse

  • 0 : l'appel de la méthode a réussi.

  • <0 : l'appel de la méthode a échoué.

enableSpeakerphone

Définit le périphérique de sortie audio sur le casque ou le haut-parleur.

public abstract int enableSpeakerphone(boolean enable);

Cette méthode sélectionne le périphérique de lecture audio actuel après avoir rejoint un canal, en basculant entre l'écouteur et le haut-parleur. Si vous n'appelez pas cette méthode, la lecture utilise le périphérique spécifié par le routage audio par défaut.

Le SDK définit un ordre de priorité prédéfini pour le routage audio et effectue un basculement automatique selon l'état de connexion des périphériques. L'ordre de priorité est le suivant : wired headset > Bluetooth headset > user settings > default settings. Par conséquent, lorsqu'un périphérique est connecté, cet appel d'API n'a aucun effet. Paramètres de routage audio.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Méthodes associées

<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#d4dab00b21ebx" id="944fb5797e773">setDefaultAudioRoutetoSpeakerphone</a> modifie les paramètres de routage audio par défaut et définit le périphérique de routage actuel.

Paramètres

Paramètre

Type

Description

enable

boolean

Spécifie si la sortie audio utilise l'écouteur ou le haut-parleur. Valeurs valides :

  • true (par défaut) : mode haut-parleur.

  • false : mode écouteur.

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

isSpeakerOn

Indique si le périphérique de sortie audio actuel est l'écouteur ou le haut-parleur.

public abstract boolean isSpeakerOn();

Description de la valeur de retour

La valeur true correspond au haut-parleur. La valeur false correspond à l'écouteur.

enableAudioVolumeIndication

Active l'indication du volume utilisateur.

public abstract int enableAudioVolumeIndication(int interval, int smooth, int reportVad);

Cette méthode permet au SDK de signaler périodiquement le volume de l'utilisateur local ainsi que celui de l'utilisateur distant ayant le volume le plus élevé. Pour utiliser cette fonctionnalité, implémentez la classe AliRtcAudioVolumeObserver et appelez registerAudioVolumeObserver pour enregistrer l'observateur.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Callbacks associés

Après un appel réussi de cette méthode, si des utilisateurs publient des flux dans le canal, le SDK déclenche les deux callbacks suivants à un intervalle spécifié :

  • Le callback AliRtcAudioVolumeObserver#onAudioVolume signale le volume audio de chaque intervenant. La fréquence de ce callback dépend du paramètre interval.

  • Détection d'activité vocale : lorsqu'un intervenant actif est détecté, son ID utilisateur (UID) est signalé via le callback AliRtcAudioVolumeObserver#onActiveSpeaker.

Paramètres

Paramètre

Type

Description

interval

int

Intervalle de temps.

  • Unité : millisecondes.

  • Valeur par défaut : 300 ms.

  • La valeur minimale est de 10 ms. Définissez une valeur comprise entre 300 ms et 500 ms. Si la valeur est inférieure ou égale à 0, les fonctionnalités d'indication du volume et d'intervenant sont désactivées.

smooth

int

Coefficient de lissage. Une valeur élevée augmente le degré de lissage. Une valeur faible réduit le lissage mais améliore la réactivité en temps réel.

  • Valeur par défaut : 3.

  • Valeurs valides : 0 à 9. La valeur recommandée est 3.

reportVad

int

Commutateur pour la détection audio locale.

  • 1 : active le commutateur. Le callback est renvoyé via l'interface AliRtcAudioVolumeObserver.

  • 0 (par défaut) : désactive le commutateur.

Description de la valeur de retour

Une valeur de retour égale à 0 indique que l'appel de la méthode a réussi. Toute autre valeur signifie que l'appel a échoué.

enableEarBack

Active le retour audio intra-auriculaire.

public abstract int enableEarBack(boolean enable);

Cette méthode active ou désactive le retour audio intra-auriculaire. L'activation de cette fonctionnalité offre de meilleurs résultats lorsque vous portez un casque filaire ou Bluetooth.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

enable

boolean

Spécifie s'il faut activer le retour audio intra-auriculaire. Valeurs valides :

  • true : active le retour audio intra-auriculaire.

  • false (par défaut) : désactive le retour audio intra-auriculaire.

Description de la valeur de retour

Une valeur égale à 0 indique un succès. Toute autre valeur signale un échec.

setEarBackVolume

Définit le volume du retour audio intra-auriculaire.

public abstract int setEarBackVolume(int volume) ;

Cette méthode ne prend effet qu'après l'activation du retour audio intra-auriculaire via l'appel de enableEarBack.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

Volume

int

Volume. Valeurs valides : 0 à 100. Valeur par défaut : 100.

  • 0 : muet.

  • 100 : volume d'origine (par défaut).

Instructions de retour

  • 0 : l'appel de la méthode a réussi.

  • <0 : l'appel de la méthode a échoué.

startAudioPlayer

Démarre le périphérique de lecture audio.

public abstract int startAudioPlayer();

Utilisez cette méthode pour activer la lecture audio à l'avance. Si vous ne l'appelez pas, le SDK active automatiquement la lecture audio après votre abonnement à un flux audio.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Valeur non nulle : l'appel a échoué et renvoie un code d'erreur.

stopAudioPlayer

Arrête le périphérique de lecture audio.

 public abstract int stopAudioPlayer();

Cette interface arrête la lecture audio et constitue le pendant de startAudioPlayer.

Informations de retour

  • 0 : l'appel a réussi.

  • Non nul : l'appel a échoué. Un code d'erreur est renvoyé.

setPlayoutVolume

Permet de définir le volume de lecture locale.

public abstract int setPlayoutVolume(int volume);

Paramètres

Paramètre

Type

Description

volume

int

Volume d'enregistrement. Plage de valeurs : [0, 400].

  • 0 : muet

  • 100 : volume d'origine

  • >100 : augmentation du volume

Description de la réponse

  • 0 : l'appel a réussi.

  • Valeur non nulle : l'appel a échoué.

setRecordingVolume

Permet de définir le volume d'enregistrement.

public abstract int setRecordingVolume(int volume);

Paramètres

Paramètre

Type

Description

volume

int

Volume d'enregistrement. La plage de valeurs est [0, 400].

  • 0 : muet

  • 100 : volume d'origine

  • >100 : volume augmenté

Description de la valeur de retour

  • 0 : l'appel de la méthode a réussi.

  • Un code de retour non nul indique que l'appel a échoué.

playAudioFileTest

Permet de lire le fichier audio.

public abstract int playAudioFileTest(String filePath) ;

Utilisez cette méthode pour lire un fichier audio avant de rejoindre un canal afin de tester la lecture audio.

Moment de l'appel

Vous pouvez appeler cette méthode uniquement avant de rejoindre un canal.

Limites d'appel

Les appels multiples écrasent les précédents. L'appel de cette méthode arrête tout fichier en cours de lecture.

Paramètres

Paramètre

Type

Description

filePath

filePath

Chemin du fichier.

Description de la valeur de retour

  • 0 : l'appel de la méthode a réussi.

  • Une valeur non nulle indique que l'appel a échoué.

stopAudioFileTest

Arrête la lecture du fichier audio.

public abstract int stopAudioFileTest();

Cette interface correspond à l'interface playAudioFileTest et arrête la lecture du fichier audio.

Limitations

Vous pouvez appeler cette méthode uniquement avant de rejoindre un canal.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Non nul : l'appel a échoué.

startAudioCaptureTest

Démarre un test du périphérique de capture audio avant un appel.

public abstract int startAudioCaptureTest();

Appelez cette méthode pour vérifier le bon fonctionnement du périphérique de capture audio local avant un appel. Après cet appel, le SDK signale le volume du périphérique de capture audio via le callback AliRtcAudioVolumeObserver::OnTestAudioVolume.

Moment de l'appel

Vous devez appeler cette méthode avant de rejoindre un canal. Une fois le test terminé, appelez stopAudioCaptureTest pour arrêter le test et libérer le périphérique audio.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Non nul : l'appel a échoué. Un code d'erreur est renvoyé.

stopAudioCaptureTest

Désactive la détection de capture audio.

public abstract int stopAudioCaptureTest();

Cette méthode arrête le test du périphérique de capture audio. Après avoir appelé startAudioCaptureTest, vous devez appeler cette méthode pour arrêter le test.

Moment de l'appel

Vous pouvez appeler cette méthode avant de rejoindre un canal.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Valeur non nulle : l'appel a échoué et un code d'erreur est renvoyé.

setAudioEffectVoiceChangerMode

Définit le mode de modification de la voix.

public abstract int setAudioEffectVoiceChangerMode(AliRtcAudioEffectVoiceChangerMode mode);

Paramètres

Paramètre

Type

Description

mode

AliRtcAudioEffectVoiceChangerMode

Mode de modification de la voix. La valeur par défaut est AliRtcSdk_AudioEffect_Voice_Changer_OFF (désactivé).

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

setAudioEffectPitchValue

Permet de définir les paramètres d'ajustement de la tonalité.

public abstract int setAudioEffectPitchValue(double value);

Paramètres

Paramètre

Type

Description

value

double

Valeurs valides : 0,5 à 2,0. La valeur par défaut est 1,0, ce qui indique que la tonalité reste inchangée.

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel de la méthode a réussi. Toute autre valeur signifie qu'il a échoué.

setAudioEffectReverbMode

Définit le mode de réverbération.

public abstract int setAudioEffectReverbMode(AliRtcAudioEffectReverbMode mode);

Paramètres

Paramètre

Type

Description

mode

AliRtcAudioEffectReverbMode

Mode de réverbération. La valeur par défaut est AliRtcAudioEffectReverb_Off, ce qui indique l'absence de réverbération.

Description de la valeur de retour

Une valeur de retour égale à 0 indique que l'appel de la méthode a réussi. Toute autre valeur signifie que l'appel a échoué.

setAudioEffectReverbParamType

Permet de définir le type et les paramètres de l'effet sonore de réverbération.

public abstract int setAudioEffectReverbParamType(AliRtcAudioEffectReverbParamType type, float value);

Paramètres

Paramètre

Type

Description

type

AliRtcAudioEffectReverbParamType

Paramètre de réverbération de l'effet sonore.

value

float

Valeur du paramètre.

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

setAudioEffectBeautifyMode

Définit un mode prédéfini d'embellissement de la voix.

public abstract int setAudioEffectBeautifyMode(AliRtcAudioEffectBeautifyMode mode);

Cette méthode définit un mode prédéfini d'embellissement de la voix fourni par le SDK. Elle convient aux scénarios nécessitant une qualité vocale améliorée, tels que le streaming vocal en direct, le karaoké et les réseaux sociaux vocaux. En sélectionnant un mode d'embellissement, vous pouvez modifier le timbre de la voix humaine, par exemple en la rendant plus résonnante ou en améliorant sa clarté. Cela enrichit l'expérience d'écoute pour les utilisateurs distants.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

Mode

AliRtcAudioEffectBeautifyMode

Mode d'effet sonore vocal. Consultez la définition de l'énumération.

Valeur de retour

  • 0 : l'opération a réussi.

  • Valeur non nulle : l'opération a échoué.

setAudioEffectEqualizationParam

Définit les paramètres de l'égaliseur audio (EQ) pour ajuster le gain d'une bande de fréquences spécifique.

public abstract int setAudioEffectEqualizationParam(AliRtcAudioEffectEqualizationBandFrequency bandIndex, float gain);

Cette méthode ajuste l'égaliseur graphique pour la voix et les signaux audio capturés localement. En ajustant le gain (en dB) d'une bande de fréquences spécifique, vous pouvez personnaliser le son pour optimiser la clarté de la voix, mettre en valeur les voix ou améliorer la réduction du bruit.

L'égaliseur couvre l'ensemble du spectre audio, de 31 Hz à 16 kHz, réparti sur 10 bandes standard. Le gain de chaque bande peut être défini indépendamment sur une valeur comprise entre -15 dB et 15 dB. La valeur par défaut est 0 dB, ce qui indique l'absence d'amplification ou d'atténuation.

Limitations

  • Vous devez activer le mode d'embellissement de la voix en appelant setAudioEffectBeautifyMode avant d'appeler cette méthode.

Paramètres

Paramètre

Type

Description

bandIndex

AliRtcAudioEffectEqualizationBandFrequency

Index de la bande à ajuster, correspondant à un segment dans la plage de fréquences centrales (31 Hz à 16 kHz).

gain

float

Valeur de gain, en dB. Les valeurs valides vont de -15 à 15.

Description de la valeur de retour

0 : l'appel de la méthode a réussi.

Valeur non nulle : l'appel de la méthode a échoué.

addExternalAudioStream

Permet d'ajouter un flux audio externe.

public abstract int addExternalAudioStream(AliRtcExternalAudioStreamConfig config);

Cette méthode ajoute un flux audio externe. Procédez comme suit :

  1. Appelez l'API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#42b363024fich" id="20c33a9acb0ui">addExternalAudioStream</a> pour ajouter un flux audio externe et obtenir son ID.

  2. Appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#930f22d3dcdco" id="d3deb62b2fl0f">pushExternalAudioStreamRawData</a> pour injecter des données audio dans le flux audio externe.

  3. À la fin de l'appel, vous devez appeler <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0333f86114078" id="16d826dedcli6">removeExternalAudioStream</a> pour supprimer le flux audio externe.

Si vous souhaitez publier une capture audio personnalisée dans un canal, consultez Capture audio personnalisée.

Moment de l'appel

Paramètre

Type

Description

config

AliRtcExternalAudioStreamConfig

Configuration du flux audio externe.

Description de la valeur de retour

Une valeur de retour supérieure à 0 indique un appel réussi et représente l'ID du flux audio externe. Toute autre valeur signifie que l'appel de la méthode a échoué.

pushExternalAudioStreamRawData

Permet d'injecter des données de flux audio externe.

public abstract int pushExternalAudioStreamRawData(int streamId, AliRtcAudioFrame rawData);

Utilisez cette interface pour envoyer des données à un flux audio spécifié. Les étapes sont les suivantes :

  1. Appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#42b363024fich" id="8822f2932e9ep">addExternalAudioStream</a> pour ajouter un flux audio externe et obtenir l'ID du flux audio externe.

  2. Appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#930f22d3dcdco" id="880fe8cd02j10">pushExternalAudioStreamRawData</a> pour injecter des données audio dans le flux audio créé.

  3. Après la fin de l'appel, appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0333f86114078" id="106c7aefa27c0">removeExternalAudioStream</a> pour supprimer le flux audio externe.

Pour publier à partir d'une source audio personnalisée, implémentez la Capture audio personnalisée.

Moment de l'appel

Appelez cette méthode après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

streamId

int

ID du flux audio externe.

rawData

AliRtcAudioFrame

Données audio

Description de la valeur de retour

Une valeur de retour égale à 0 indique que l'appel de la méthode a réussi. Toute autre valeur signifie que l'appel de la méthode a échoué.

setExternalAudioStreamPublishVolume

Définit le volume de publication d'un flux audio externe.

public abstract int setExternalAudioStreamPublishVolume(int streamId, int publishVolume);

Paramètres

Paramètre

Type

Description

streamId

int

ID du flux audio externe.

publishVolume

int

Volume de l'audio externe pour la diffusion. Valeurs valides : 0 à 100.

Description de la valeur de retour

Une valeur de retour égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

getExternalAudioStreamPublishVolume

Récupère le volume de diffusion du flux audio externe

public abstract int getExternalAudioStreamPublishVolume(int streamId);

Paramètres

Paramètre

Type

Description

streamId

int

ID du flux audio externe.

Description de la valeur de retour

Volume de diffusion : les valeurs valides vont de 0 à 100. Une valeur inférieure à 0 indique un échec.

setExternalAudioStreamPlayoutVolume

Définit le volume de lecture d'un flux audio externe.

public abstract int setExternalAudioStreamPlayoutVolume(int streamId, int playoutVolume);

Paramètres

Paramètre

Type

Description

streamId

int

ID du flux audio externe.

playoutVolume

int

Volume de lecture. Valeurs valides : 0 à 100.

Description de la valeur de retour

Une valeur égale à 0 confirme le succès de l'appel. Toute autre valeur signifie que l'appel a échoué.

getExternalAudioStreamPlayoutVolume

Récupère le volume de lecture du flux audio externe

public abstract int getExternalAudioStreamPlayoutVolume(int streamId);

Paramètres

Paramètre

Type

Description

streamId

int

ID du flux audio externe.

Description de la réponse

Le volume de lecture accepte des valeurs comprises entre 0 et 100. Une valeur inférieure à 0 signale une erreur.

removeExternalAudioStream

Supprime un flux audio externe.

public abstract int removeExternalAudioStream(int streamId);

Cette méthode retire le flux audio externe correspondant à l'ID de flux spécifié. Elle constitue l'opération inverse de la méthode addExternalAudioStream.

Moment de l'appel

Pour exploiter la fonctionnalité d'entrée audio personnalisée, appelez d'abord la méthode addExternalAudioStream afin d'ajouter un flux audio et d'obtenir son ID. Ensuite, utilisez la méthode pushExternalAudioStreamRawData pour transmettre vos données audio au SDK. Lorsque vous souhaitez cesser d'utiliser l'entrée audio personnalisée, invoquez cette méthode pour supprimer le flux audio et libérer ses ressources.

Paramètres

Paramètre

Type

Description

streamId

int

ID du flux audio externe, correspondant à la valeur retournée lors d'un appel réussi à la méthode addExternalAudioStream.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • <0 : l'appel a échoué. Un code d'erreur est renvoyé.

getAudioFileInfo

Récupère les informations d'un fichier audio.

public abstract int getAudioFileInfo(String fileName);

Cette interface asynchrone permet d'obtenir la durée d'un fichier. Étant donné sa nature asynchrone, les informations du fichier audio sont fournies via le rappel onAudioFileInfo.

Paramètres

Paramètre

Type

Description

fileName

String

Chemin d'accès au fichier audio.

Retour à l'introduction

  • 0 : l'appel a réussi.

  • Différent de zéro : un code d'erreur est renvoyé.

startAudioAccompany

Lance le mixage de l'accompagnement audio.

public abstract int startAudioAccompany(String fileName, AliRtcAudioAccompanyConfig config) ;

Cette interface lit des fichiers d'accompagnement locaux ou en ligne. Il s'agit d'une interface asynchrone. Après son appel, surveillez l'état de lecture de l'accompagnement via AliRtcEngineNotify#onAudioAccompanyStateChanged.

Moment de l'appel

Cette méthode ne peut être appelée qu'après avoir rejoint un canal.

Limitations

Contrairement aux effets sonores, un seul accompagnement peut être lu à la fois. Des appels répétés remplacent la lecture précédente.

Paramètres

Paramètre

Type

Description

fileName

String

Chemin d'accès au fichier d'accompagnement.

config

AliRtcAudioAccompanyConfig

Configuration de la lecture de l'accompagnement, incluant les options de lecture locale uniquement, de remplacement du microphone, de nombre de boucles, de position de départ, de volume et d'autres paramètres.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Différent de zéro : l'appel a échoué et renvoie un code d'erreur.

stopAudioAccompany

Arrête la lecture de l'accompagnement audio.

public abstract int stopAudioAccompany() ;

Cette interface est l'opération inverse de startAudioAccompany et interrompt la lecture de l'accompagnement audio.

Moment de l'appel

Cette méthode peut être appelée avant ou après avoir rejoint un canal.

Description de la réponse

  • 0 : l'appel a réussi.

  • Différent de zéro : l'appel a échoué et renvoie un code d'erreur.

setAudioAccompanyVolume

Définit le volume de l'accompagnement audio pour la lecture locale et la diffusion.

public abstract int setAudioAccompanyVolume( int volume) ;

Cette API règle le volume de l'accompagnement audio pour la lecture locale et pour la publication. Pour ajuster uniquement le volume de lecture locale, utilisez setAudioAccompanyPlayoutVolume. Pour modifier exclusivement le volume de diffusion, servez-vous de setAudioAccompanyPublishVolume.

Paramètres

Paramètre

Type

Description

volume

int

Volume de l'accompagnement. Valeurs valides : [0, 100].

0 : Muet.

100 : Volume original du fichier.

Description de la réponse

  • 0 : l'appel a réussi.

  • Valeur différente de zéro : l'appel a échoué et renvoie un code d'erreur.

setAudioAccompanyPublishVolume

Définit le volume de l'accompagnement audio pour la diffusion.

public abstract int setAudioAccompanyPublishVolume(int volume) ;

Paramètres

Paramètre

Type

Description

volume

int

Volume de l'accompagnement. Plage : [0, 100].

0 : Muet.

100 : Volume original du fichier.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Valeur différente de zéro : l'appel a échoué. La valeur retournée correspond à un code d'erreur.

getAudioAccompanyPublishVolume

Récupère le volume de diffusion du flux d'accompagnement.

public abstract int getAudioAccompanyPublishVolume() ;

Description de la réponse

Volume de diffusion du flux musical d'accompagnement.

  • 0 à 100 : succès.

  • Autres valeurs : code d'erreur.

setAudioAccompanyPlayoutVolume

Définit le volume de lecture locale de l'accompagnement.

public abstract int setAudioAccompanyPlayoutVolume(int volume) ;

Paramètres

Paramètre

Type

Description

volume

int

Volume de l'accompagnement. Valeurs valides : [0, 100].

0 : Muet.

100 : Volume original du fichier.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Valeur différente de zéro : l'appel a échoué et un code d'erreur est renvoyé.

getAudioAccompanyPlayoutVolume

Interroge le volume de lecture locale de l'accompagnement.

public abstract int getAudioAccompanyPlayoutVolume() ;

Description de la valeur de retour

Volume de lecture locale de l'accompagnement.

  • [0-100] : Succès.

  • Autres valeurs : Code d'erreur.

pauseAudioAccompany

Met en pause le mixage de l'accompagnement.

public abstract int pauseAudioAccompany();

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Différent de zéro : l'appel a échoué et a renvoyé un code d'erreur.

resumeAudioAccompany

Reprend le mixage de l'accompagnement.

public abstract int resumeAudioAccompany();

Description de la valeur de retour

  • Une valeur égale à 0 indique que l'appel a réussi.

  • Une valeur différente de zéro signale que l'appel a échoué et renvoie un code d'erreur.

getAudioAccompanyDuration

Récupère la durée du fichier d'accompagnement, en millisecondes.

public abstract int getAudioAccompanyDuration();

Cette méthode obtient la durée du fichier d'accompagnement en cours.

Description de la valeur de retour

  • >= 0 : durée du fichier d'accompagnement.

  • < 0 : l'appel a échoué et renvoie un code d'erreur.

getAudioAccompanyCurrentPosition

Obtient la progression de lecture du fichier d'accompagnement, en millisecondes.

public abstract int getAudioAccompanyCurrentPosition();

Cette méthode retourne la position actuelle de lecture du fichier d'accompagnement, exprimée en millisecondes.

Description de la réponse

  • Valeur supérieure ou égale à 0 : progression de lecture du fichier d'accompagnement.

  • Valeur inférieure à 0 : l'appel a échoué. Un code d'erreur est renvoyé.

setAudioAccompanyPosition

Définit la position de lecture de l'accompagnement.

public abstract int setAudioAccompanyPosition(int posMs);

Cette méthode ajuste la progression de lecture de l'accompagnement, ce qui est utile pour des fonctionnalités comme le déplacement d'une barre de progression. Suite à un appel réussi, l'accompagnement reprend depuis la position spécifiée.

Paramètres

Paramètre

Type

Description

posMs

int

Position de la barre de progression, en millisecondes.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Valeur différente de zéro : l'appel a échoué. Un code d'erreur est renvoyé.

preloadAudioEffect

Précharge un effet sonore.

public abstract int preloadAudioEffect(int soundId, String filePath);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

filePath

String

Chemin d'accès à l'effet sonore.

Description de la valeur de retour

Une valeur égale à 0 confirme le succès de l'appel. Toute autre valeur indique un échec.

unloadAudioEffect

Supprime un fichier d'effet sonore préchargé.

public abstract int unloadAudioEffect(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

playAudioEffect

Lance la lecture d'un effet sonore.

public abstract int playAudioEffect(int soundId, String filePath, int cycles, boolean publish);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

filePath

String

Chemin d'accès à l'effet sonore.

cycles

int

Nombre de boucles. Une valeur de -1 indique une boucle infinie.

publish

boolean

Indique si le flux audio de l'effet sonore doit être transmis vers le distant. Valeurs valides :

  • true : transmet le flux audio de l'effet sonore vers le distant.

  • false (par défaut) : ne transmet pas le flux audio de l'effet sonore vers le distant.

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Une valeur différente de zéro signale un échec.

stopAudioEffect

Arrête la lecture d'un effet sonore.

public abstract int stopAudioEffect(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

Description de la valeur de retour

Une valeur de retour égale à 0 confirme le succès de l'appel. Une valeur différente de zéro indique un échec.

stopAllAudioEffects

Arrête la lecture de tous les effets sonores.

public abstract int stopAllAudioEffects();

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Une valeur différente de zéro signale un échec.

setAudioEffectPublishVolume

Définit le volume de diffusion du flux d'effet sonore.

public abstract int setAudioEffectPublishVolume(int soundId, int volume);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

volume

int

Volume de l'audio mixé. Valeurs valides : 0 à 100. Valeur par défaut : 50.

Description de la valeur de retour

Une valeur de retour égale à 0 indique un succès. Toute autre valeur signale un échec.

getAudioEffectPublishVolume

Interroge le volume de diffusion du flux d'effet sonore.

public abstract int getAudioEffectPublishVolume(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué au fichier d'effet sonore.

Description de la réponse

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

setAudioEffectPlayoutVolume

Définit le volume de lecture locale de l'effet sonore.

public abstract int setAudioEffectPlayoutVolume(int soundId, int volume);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

volume

int

Volume de l'audio mixé. Valeurs valides : 0 à 100. Valeur par défaut : 50.

Description de la valeur de retour

Une valeur de retour égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

getAudioEffectPlayoutVolume

Récupère le volume de lecture locale de l'effet sonore sur les appareils Android et iOS.

public abstract int getAudioEffectPlayoutVolume(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

Description de la valeur de retour

Une valeur de retour égale à 0 indique un succès. Toute autre valeur signale un échec.

setAllAudioEffectsPublishVolume

Définit le volume de mixage pour la diffusion de tous les effets sonores.

public abstract int setAllAudioEffectsPublishVolume(int volume);

Paramètres

Paramètre

Type

Description

volume

int

Volume de l'audio mixé. Valeurs valides : 0 à 100. Valeur par défaut : 50.

Description de la valeur de retour

Une valeur de retour égale à 0 indique un succès. Toute autre valeur signale un échec.

setAllAudioEffectsPlayoutVolume

Définit le volume de lecture locale pour tous les effets sonores (Android et iOS).

public abstract int setAllAudioEffectsPlayoutVolume(int volume);

Paramètres

Paramètre

Type

Description

volume

int

Volume de l'audio mixé. Valeurs valides : 0 à 100. Valeur par défaut : 50.

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

startRecord

Lance l'enregistrement d'un fichier multimédia.

public abstract boolean startRecord(AliRtcRecordType recordType, AliRtcRecordFormat recordFormat, String filePath, AliRtcRecordAudioConfig audioConfig, AliRtcRecordVideoConfig videoConfig, long maxSize, long maxDuration);

Paramètres

Paramètre

Type

Description

recordType

AliRtcRecordType

Type d'enregistrement.

recordFormat

AliRtcRecordFormat

Type de format (wav, aac, mp4).

filePath

String

Nom du fichier d'enregistrement.

audioConfig

AliRtcRecordAudioConfig

Configuration audio.

videoConfig

AliRtcRecordVideoConfig

Configuration vidéo.

maxSize

long

Taille maximale du fichier.

maxDuration

long

Durée maximale du fichier.

Valeur de retour

Une valeur de retour TRUE indique un succès. Toute autre valeur signale un échec.

Remarque
  • Appelez cette méthode après la publication réussie du flux (onVideoPublishStateChanged) pour enregistrer le flux vidéo encodé localement dans un fichier local.

  • Lors de l'enregistrement d'un flux audio, cette méthode crée un fichier contenant un mixage des sources audio locales et distantes.

stopRecord

Arrête l'enregistrement des fichiers multimédias.

  public abstract void stopRecord();

Paramètres

Aucun.

pauseAudioEffect

Met en pause un effet sonore.

public abstract int pauseAudioEffect(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

Description de la valeur de retour

Une valeur de retour égale à 0 indique un succès. Toute autre valeur signale un échec.

pauseAllAudioEffects

Met en pause tous les effets sonores.

public abstract int pauseAllAudioEffects();

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

resumeAudioEffect

Reprend la lecture d'un effet sonore.

public abstract int resumeAudioEffect(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

resumeAllAudioEffects

Reprend la lecture de tous les effets sonores.

public abstract int resumeAllAudioEffects();

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec.

createRenderSurfaceView

Crée une vue de rendu SurfaceView.

public abstract SophonSurfaceView createRenderSurfaceView(Context context);

Vous devez appeler cette méthode pour afficher les vues vidéo au lieu de créer directement une SurfaceView. Pour utiliser cette méthode :

  • Assignez la valeur de retour à AliRtcVideoCanvas#view.

  • Appelez setLocalViewConfig pour définir la vue d'aperçu locale ou setRemoteViewConfig pour définir la vue d'aperçu distante.

Moment de l'appel

Cette méthode peut être appelée avant ou après avoir rejoint un canal.

Limitations

Cette méthode doit être appelée sur le thread principal.

Paramètres

Paramètre

Type

Description

context

Context

Contexte de l'activité Android.

setLocalViewConfig

Définissez la fenêtre de rendu et les paramètres de dessin pour l'aperçu local.

public abstract int setLocalViewConfig(AliRtcVideoCanvas viewConfig, AliRtcVideoTrack track);

Cette méthode configure la vue d'aperçu local en liant le flux vidéo local à une vue et en définissant le mode de rendu, le mode miroir et l'angle de rotation pour l'utilisateur local. Elle n'affecte que l'aperçu local et ne modifie pas la vidéo capturée. Pour configurer la vue d'un utilisateur distant, appelez setRemoteViewConfig.

Remarque
  • Si le paramètre view dans AliRtcVideoCanvas est vide, le rendu s'arrête.

  • Pour modifier le paramètre renderMode de AliRtcVideoCanvas pendant la lecture, conservez tous les autres paramètres inchangés et modifiez uniquement renderMode.

  • Pour mettre à jour le paramètre mirrorMode de AliRtcVideoCanvas pendant la lecture, conservez tous les autres paramètres inchangés et modifiez uniquement mirrorMode.

  • Appelez explicitement startPreview() pour lancer l'aperçu local.

Moment d'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

viewConfig

AliRtcVideoCanvas

Paramètres de rendu, incluant la fenêtre de rendu et le mode de rendu.

track

AliRtcVideoTrack

Type de flux vidéo.

Valeur de retour

La valeur 0 indique un succès. Toute autre valeur indique un échec.

setRemoteViewConfig

Définissez la fenêtre de rendu et les paramètres de dessin pour la vidéo distante.

public abstract int setRemoteViewConfig(AliVideoCanvas canvas, String uid,AliRtcVideoTrack track);

Cette méthode lie la vue d'affichage du flux vidéo d'un utilisateur distant spécifié et configure le mode de rendu, le mode miroir et l'angle de rotation pour l'affichage local de cette vidéo. Elle n'affecte que la vidéo affichée à l'utilisateur local. Pour configurer la vue d'aperçu local, appelez setLocalViewConfig.

  • Si le paramètre view de AliRtcVideoCanvas est vide, le rendu s'arrête.

  • Pour réinitialiser le paramètre renderMode de AliRtcVideoCanvas pendant la lecture, modifiez la valeur de renderMode tout en conservant les autres paramètres inchangés.

  • Pour modifier le paramètre mirrorMode de AliRtcVideoCanvas pendant la lecture, modifiez la valeur de mirrorMode tout en conservant les autres paramètres inchangés.

Moment d'appel

Nous vous recommandons d'appeler cette fonction lors de la réception du callback onRemoteTrackAvailableNotify. Vous pouvez ainsi la configurer dès que la vidéo d'un utilisateur distant devient disponible.

Paramètres

Paramètre

Type

Description

canvas

AliRtcVideoCanvas

Configuration du rendu, incluant la fenêtre de rendu et le mode de rendu.

uid

String

ID utilisateur.

track

AliRtcVideoTrack

Type de flux vidéo à configurer.

Valeur de retour

La valeur 0 indique que l'appel a réussi, tandis que toute autre valeur indique un échec.

setCameraCapturerConfiguration

Configure les préférences de capture de la caméra, telles que l'orientation de la caméra et la fréquence d'images de capture.

public abstract int setCameraCapturerConfiguration(AliEngineCameraCapturerConfiguration cameraCapturerConfiguration);

Cette méthode configure les préférences de capture, notamment l'orientation de la caméra et la fréquence d'images.

Moment d'appel

Vous devez appeler cette méthode avant d'activer la caméra, par exemple avant d'exécuter les opérations suivantes :

  • startPreview (lance l'aperçu vidéo)

  • joinChannel (rejoint un canal)

Paramètres

Paramètre

Type

Description

cameraCapturerConfiguration

AliEngineCameraCapturerConfiguration

Préférences de capture de la caméra, telles que l'orientation et la fréquence d'images. Valeurs par défaut :

  • preference :

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_AUTO : Le SDK ajuste automatiquement les paramètres de capture.

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_PREVIEW : Aperçu haute définition. La capture privilégie la qualité de l'aperçu vidéo.

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE : La capture utilise la résolution la plus proche de celle de l'ingestion de flux. Les performances de l'appareil sont prioritaires.

  • cameraDirection : AliRtcCameraDirection.CAMERA_FRONT. La caméra frontale est utilisée par défaut.

  • fps : -1 utilise le paramètre de fréquence d'images interne de l'encodeur. La valeur par défaut est 15.

  • cameraCaptureProfile : 0 spécifie une résolution fixe pour la capture vidéo.

  • disableVideoCaptureReverse : Contrôle si les images vidéo capturées doivent être inversées en fonction du rapport hauteur/largeur. -1 : par défaut. 0 : désactivé. 1 : activé.

  • captureObserverOriginal : Contrôle si le SDK fournit des données d'images vidéo brutes dans les callbacks. -1 : par défaut. 0 : désactivé. 1 : activé.

  • textureEncode : Contrôle si l'encodage de texture est utilisé. -1 : par défaut. 0 : désactivé. 1 : activé.

  • cameraTextureCapture : Contrôle si la caméra active la capture basée sur les textures. -1 : par défaut. 0 : désactivé. 1 : activé.

La valeur « -1 » indique l'utilisation des paramètres par défaut du SDK.

Valeur de retour

Une valeur de retour de 0 indique que l'appel de la méthode a réussi. Toute autre valeur indique un échec.

enableLocalVideo

Désactive ou réactive la capture vidéo locale.

public abstract int enableLocalVideo(boolean enable);

Cette méthode permet d'activer ou de désactiver la capture vidéo locale. Lorsque la capture vidéo locale est désactivée, aucune donnée vidéo n'est disponible pour l'aperçu local ou l'ingestion de flux, mais cela n'affecte pas la réception de vidéos distantes. Si vous appelez cette méthode pour désactiver la capture de la caméra locale, l'aperçu local et l'ingestion de flux distant restent figés sur la dernière image.

Remarque

La capture vidéo locale est activée par défaut dans le SDK.

Moment d'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Callbacks associés

Un appel réussi à cette API notifie l'utilisateur distant via le callback onUserVideoEnabled.

Paramètres

Paramètre

Type

Description

enable

boolean

Spécifie s'il faut désactiver ou réactiver la collecte vidéo locale. Valeurs valides :

  • true (valeur par défaut) : réactive la capture.

  • false : désactive la capture.

Valeur de retour

La valeur 0 indique que l'appel a réussi. Toute autre valeur indique un échec.

muteLocalCamera

Arrête ou reprend l'envoi de données vidéo locales.

public abstract int muteLocalCamera(boolean mute, AliRtcVideoTrack track);

Lors de l'ingestion de flux, vous pouvez appeler cette méthode pour envoyer des images vidéo entièrement noires. L'aperçu local reste normal, et les modules de capture, d'encodage et d'envoi continuent de fonctionner, mais le contenu vidéo se compose d'images noires.

Remarque

Cette API contrôle uniquement l'envoi d'images noires sur le flux vidéo spécifié. La capture vidéo et l'envoi de données ne s'arrêtent pas. Pour arrêter la capture, utilisez enableLocalVideo. Pour interrompre l'envoi de données vidéo, utilisez publishLocalVideoStream ou appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7558afe6accq4" id="ee17216e55r3t">enableLocalVideo</a> stop capturing.

Paramètres

Paramètre

Type

Description

mute

boolean

Arrête ou reprend la publication de la piste vidéo locale. Valeurs valides :

  • true : Arrêt.

  • false (par défaut) : Le système reprend l'envoi.

track

AliRtcVideoTrack

Type de flux vidéo pour lequel vous souhaitez modifier l'état de publication.

Valeur de retour

La valeur 0 indique que l'appel a réussi.

isCameraOn

Vérifie si la caméra est activée.

public abstract boolean isCameraOn();

Valeur de retour

La valeur true indique que la caméra est activée. La valeur false indique que la caméra est désactivée.

setVideoEncoderConfiguration

Définit les propriétés d'encodage vidéo.

public abstract void setVideoEncoderConfiguration(AliRtcVideoEncoderConfiguration config);

Cette méthode définit les propriétés d'encodage du flux vidéo, telles que la résolution, la fréquence d'images, le débit binaire et l'orientation vidéo. Nous vous recommandons d'appeler cette méthode pour tous les scénarios vidéo.

Remarque

Chaque paramètre possède une plage valide. Si vous définissez un paramètre avec une valeur en dehors de sa plage valide, le SDK ajuste automatiquement la valeur pour qu'elle y soit incluse.

Moment d'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal. Si vous n'avez besoin de définir les propriétés d'encodage vidéo pour le flux de la caméra qu'une seule fois par session, nous vous recommandons d'appeler cette méthode avant de rejoindre le canal.

Limitations

Le paramètre mirrorMode de cette méthode et la méthode setVideoMirrorMode configurent tous deux l'effet miroir pour l'ingestion du flux vidéo. Nous vous recommandons de n'utiliser qu'une seule de ces méthodes. L'utilisation simultanée des deux peut entraîner un chevauchement des effets miroir, provoquant des échecs ou des incohérences.

Paramètres

Paramètre

Type

Description

config

AliRtcVideoEncoderConfiguration

Propriétés d'encodage prédéfinies. Valeurs par défaut :

  • dimensions : [640,480]. La valeur maximale est 1920x1080. Définit la résolution.

  • frameRate : 15

  • bitrate : 0. Cela indique que le SDK calcule le débit binaire d'encodage approprié en fonction de la résolution vidéo et du débit binaire.

  • keyFrameInterval : Intervalle du groupe d'images (GOP). Unité : millisecondes. Valeur par défaut : 0. Cela indique que le SDK le contrôle en interne.

  • forceStrictKeyFrameInterval : Force l'encodeur à générer strictement des images clés selon l'intervalle de groupe d'images (GOP) défini. Valeur par défaut : false.

  • mirrorMode : 0

  • orientationMode : 0

  • rotation : 0

  • codecType : AliRtcVideoCodecTypeDefault

  • encoderType : AliRtcVideoEncodeCodecTypeDefault

  • seiForceFrontIFrame : -1

  • enableDynamicEncode : -1

  • disableDipenseResolutionChange : -1

  • enableDowngrade : -1

  • enableH264BFrame : -1

  • enableHevcBFrame : -1

La valeur -1 indique l'utilisation des paramètres internes par défaut du SDK.

setVideoDecoderConfiguration

Définit les propriétés de décodage vidéo.

    public abstract void setVideoDecoderConfiguration(AliRtcVideoDecoderConfiguration config);

Cette méthode définit les paramètres vidéo pour le décodage d'un flux vidéo.

Moment d'appel

Nous vous recommandons d'appeler cette méthode avant de rejoindre un canal.

Paramètres

Nom

Type

Description

config

AliRtcVideoDecoderConfiguration

Propriétés de décodage prédéfinies. Valeurs par défaut :

  • codecType : AliRtcVideoCodecTypeDefault. Type de décodage, incluant le décodage logiciel, le décodage matériel et le décodage de texture matérielle.

  • enableDecoderBframe : -1. Indique s'il faut utiliser les B-frames. L'activation de cette option crée une file d'attente tampon pendant le décodage, ce qui augmente la latence. Activez cette option uniquement si l'expéditeur utilise des B-frames. Sinon, le décodage échoue.

  • textureBindContext : -1. Indique s'il faut prendre en charge la liaison d'un contexte pour le décodage de texture.

La valeur -1 signifie l'utilisation des paramètres internes par défaut du SDK.

switchCamera

Permet de basculer entre les caméras avant et arrière. La caméra avant est utilisée par défaut.

public abstract int switchCamera();

Cette méthode permet de choisir entre la caméra avant et la caméra arrière. Par défaut, la caméra avant est utilisée. Vous pouvez basculer dynamiquement entre les caméras pendant l'exécution de l'application, en fonction des caméras disponibles, sans redémarrer le flux vidéo ni reconfigurer la source vidéo.

Moment d'appel

Vous pouvez appeler cette méthode uniquement après l'activation réussie de la caméra.

Limitations

Cette méthode est prise en charge uniquement sur Android et iOS.

Valeur de retour

La valeur 0 indique que l'appel a réussi. Toute autre valeur indique un échec.

getCurrentCameraDirection

Récupère l'orientation actuelle de la caméra.

public abstract AliRTCCameraDirection getCurrentCameraDirection();

Valeur de retour

  • La valeur CAMERA_REAR (0) indique la caméra arrière.

  • La valeur CAMERA_FRONT (1) indique la caméra avant.

  • La valeur CAMERA_INVALID (-1) indique une valeur non valide.

Remarque

Vous pouvez appeler cette méthode uniquement après l'activation de la caméra. Sinon, elle retourne CAMERA_INVALID (-1).

startPreview

Lance l'aperçu local.

public abstract int startPreview();

Cette méthode lance un aperçu vidéo local et active automatiquement la caméra. Pour arrêter l'aperçu local, vous pouvez appeler la méthode stopPreview.

Remarque

leaveChannel Quitter le canal arrête automatiquement l'aperçu local. Si vous ne publiez pas de flux de caméra, la caméra s'éteint.

Moment d'appel

  • Vous devez définir une vue pour l'aperçu local en appelant setLocalViewConfig avant cet appel. Sinon, l'aperçu ne sera pas affiché, mais l'ingestion de flux n'est pas affectée.

  • Si nécessaire, vous pouvez appeler cette méthode pour lancer l'aperçu avant d'appeler joinChannel. La caméra s'allume automatiquement.

Valeur de retour

La valeur 0 indique un appel réussi, tandis que toute autre valeur indique un échec.

stopPreview

Arrête l'aperçu local.

public abstract int stopPreview();

Cette méthode arrête l'aperçu vidéo local et éteint la caméra. Une fois l'aperçu arrêté, la vue locale affiche la dernière image capturée et l'ingestion de flux n'est pas affectée.

Remarque

Lorsque vous appelez leaveChannel, l'aperçu local s'arrête automatiquement. Si vous ne publiez pas de flux de caméra, la caméra s'éteint également automatiquement.

Moment d'appel

Vous pouvez appeler cette méthode après avoir lancé l'aperçu local.

Valeur de retour

Une valeur de retour de 0 indique un succès. Toute autre valeur indique un échec.

setCameraZoom

Définit le facteur de zoom de la caméra.

public abstract int setCameraZoom(float zoom);

Permet de régler le niveau de zoom de la caméra.

Limitations

Cette méthode est disponible uniquement sur les appareils iOS et Android.

Moment d'appel

Ce paramètre prend effet uniquement après l'activation de la caméra. Le zoom est réinitialisé à chaque redémarrage de la caméra.

Paramètres

Paramètre

Type

Description

zoom

float

Facteur de zoom de la caméra. La valeur varie de 1 jusqu'au zoom maximal pris en charge par la caméra. Appelez GetCameraMaxZoomFactor pour obtenir le facteur de zoom maximal pour l'appareil actuel.

Valeur de retour

  • 0 : appel réussi.

  • Différent de zéro : échec de l'appel de la méthode.

GetCameraMaxZoomFactor

Récupère le facteur de zoom maximal (zoom optique) pris en charge par la caméra.

public abstract float GetCameraMaxZoomFactor();

Valeur de retour

Le facteur de zoom maximal pris en charge par la caméra de l'appareil.

GetCurrentZoom

Récupère le réglage actuel du facteur de zoom de la caméra.

public abstract float GetCurrentZoom();

Valeur de retour

Le facteur de zoom actuel de la caméra de l'appareil.

SetExposure

Définit l'exposition de la caméra.

public abstract int SetExposure(float exposure);

Lorsque l'environnement de prise de vue est trop sombre ou trop lumineux, la qualité de la capture vidéo est affectée. Pour améliorer la qualité vidéo, vous pouvez utiliser cette méthode afin d'ajuster le niveau d'exposition de votre caméra. Vous pouvez récupérer la plage de niveaux d'exposition prise en charge à l'aide de GetMinExposure et GetMaxExposure.

Paramètres

Paramètre

Type

Description

Exposure

float

Valeur d'exposition de la caméra. La valeur par défaut est 0, ce qui signifie que la caméra utilise son exposition par défaut. Une valeur plus élevée augmente l'exposition. Si l'image vidéo est surexposée, diminuez la valeur d'exposition. Si l'image vidéo est sous-exposée et que les détails sombres sont perdus, augmentez la valeur d'exposition. Si la valeur d'exposition fournie se situe en dehors de la plage prise en charge par l'appareil, le SDK l'ajuste automatiquement.

Valeur de retour

  • 0 : appel réussi.

  • Une valeur différente de zéro indique que l'appel de la méthode a échoué.

GetCurrentExposure

Récupère le niveau d'exposition de la caméra.

public abstract float GetCurrentExposure();

Récupère le réglage du niveau d'exposition de la caméra actuellement utilisée.

Valeur de retour

Le niveau d'exposition actuel de la caméra.

GetMinExposure

Obtient l'exposition minimale prise en charge par la caméra.

public abstract float GetMinExposure();

Valeur de retour

Le niveau d'exposition minimal de la caméra.

GetMaxExposure

Récupère le niveau d'exposition maximal pris en charge par la caméra.

public abstract float GetMaxExposure();

Valeur de retour

Le niveau d'exposition maximal de la caméra.

setCameraFlash

Active ou désactive le flash de la caméra.

public abstract int setCameraFlash(boolean flash);

Active ou désactive le flash.

Remarque

En règle générale, seules les caméras arrière prennent en charge la fonctionnalité de flash.

Limitations

Cette méthode est prise en charge uniquement sur iOS et Android.

Paramètres

Paramètre

Type

Description

flash

boolean

Activation du flash.

  • true : Allume le flash.

  • false : Éteint le flash.

Valeur de retour

  • 0 : Le réglage a réussi.

  • Valeur différente de zéro : Échec du réglage.

isCameraFocusPointSupported

Vérifie si la mise au point manuelle est prise en charge sur l'appareil actuel.

public abstract boolean isCameraFocusPointSupported();

Vérifie si la caméra actuelle permet de définir un point de mise au point pour la mise au point manuelle.

Limitations

Cette méthode est disponible uniquement sur iOS et Android.

Valeur de retour

  • true : L'appareil prend en charge la mise au point manuelle.

  • false : L'appareil ne prend pas en charge la mise au point manuelle.

isCameraExposurePointSupported

Vérifie si la définition du point d'exposition de la caméra est prise en charge.

public abstract boolean isCameraExposurePointSupported();

Détermine si un point d'exposition peut être défini sur l'appareil actuel.

Limitations

Cette méthode est disponible uniquement sur iOS et Android.

Valeur de retour

  • true : Le point d'exposition de la caméra peut être défini.

  • false : Le point d'exposition de la caméra ne peut pas être défini.

setCameraFocusPoint

Définit le point de mise au point manuelle de la caméra.

public abstract int setCameraFocusPoint(float x, float y);

Définit le point de mise au point pour la caméra actuelle. Après avoir appelé cette opération, la caméra ajuste l'exposition pour le point spécifié puis maintient cette valeur de mise au point. Avant d'appeler cette opération, nous vous recommandons d'appeler isCameraFocusPointSupported pour vérifier si l'appareil prend en charge la mise au point manuelle.

Limitations

Cette méthode est disponible uniquement sur iOS et Android.

Appelez cette méthode uniquement avant de rejoindre un canal.

Paramètre

Type

Description

x

float

Valeur de la coordonnée x.

y

float

Valeur sur l'axe y.

Valeur de retour

  • 0 : appel réussi.

  • Différent de zéro : échec de l'appel.

setCameraExposurePoint

Définit le point d'exposition de la caméra.

public abstract int setCameraExposurePoint(float x, float y);

Cette opération définit le point d'exposition de la caméra. Après l'appel, la caméra ajuste l'exposition une seule fois pour le point spécifié et maintient cette valeur d'exposition. Avant d'appeler cette opération, nous vous recommandons d'appeler isCameraExposurePointSupported pour vérifier si l'appareil prend en charge la définition manuelle du point d'exposition.

Limitations

Cette méthode est disponible uniquement sur les appareils iOS et Android.

Paramètres

Paramètre

Type

Description

x

float

Valeur de la coordonnée sur l'axe X

y

float

Valeur de la coordonnée sur l'axe Y

Description du retour

  • 0 : L'appel de la méthode a réussi.

  • Différent de zéro : L'appel de la méthode a échoué.

isCameraAutoFocusFaceModeSupported

Vérifie si la caméra prend en charge la mise au point automatique sur les visages.

public abstract boolean isCameraAutoFocusFaceModeSupported();

Détermine si la caméra prend en charge la mise au point automatique sur les visages.

Moment de l'appel

Cette méthode ne peut être appelée qu'après l'activation de la caméra. Elle retourne true si la caméra est activée et prend en charge à la fois la détection de visage et la mise au point automatique. Dans le cas contraire, elle retourne false.

Limitations

Cette méthode est disponible uniquement sur iOS et Android.

Description du retour

  • true : La mise au point automatique sur les visages est prise en charge.

  • false : La mise au point automatique sur les visages n'est pas prise en charge.

setCameraAutoFocusFaceModeEnabled

Configure la mise au point sur les visages de la caméra.

public abstract boolean setCameraAutoFocusFaceModeEnabled(boolean enable);

Cette interface active la mise au point automatique en temps réel sur les visages humains. Avant d'appeler cette méthode, vous devez appeler isCameraAutoFocusFaceModeSupported pour vérifier que l'appareil prend en charge cette fonctionnalité.

Limitations

Cette méthode est disponible uniquement sur iOS et Android.

Paramètres

Paramètre

Type

Description

enable

boolean

Active ou désactive la fonctionnalité de mise au point sur les visages de la caméra.

  • true : Activer.

  • false : Désactiver.

Description du retour

  • true : L'appel a réussi.

  • false : L'appel a échoué.

setVideoMirrorMode

Configurez le mode miroir vidéo pour la prévisualisation et l'ingestion de flux.

public abstract int setVideoMirrorMode(AliRtcVideoPipelineMirrorMode mirrorMode);

Spécifie s'il faut activer le mode miroir pour la vidéo de prévisualisation locale et les flux vidéo ingérés.

Remarque

Cette interface est prioritaire sur setLocalViewConfig et setVideoEncoderConfiguration. Pour définir le mode miroir vidéo, appelez cette interface.

Moment de l'appel

Vous pouvez définir cette méthode dynamiquement avant ou après avoir rejoint un canal. Le SDK enregistre l'état en interne et applique les opérations vidéo lorsque la prévisualisation et l'encodage (ingestion de flux) sont disponibles.

Limites d'appel

Cette méthode chevauche le paramètre mirrorMode de setLocalViewConfig et setVideoEncoderConfiguration. Nous recommandons de n'utiliser qu'une seule de ces méthodes.

Appelez cette méthode avant de rejoindre un canal.

Paramètre

Type

Description

mirrorMode

AliRtcVideoPipelineMirrorMode

Définit le mode miroir.

Description de la réponse

  • 0 : Le paramètre a été appliqué avec succès.

  • <0 : Échec du paramétrage.

    • AliRtcErrInner : Erreur d'état interne du SDK. Vérifiez si l'instance du SDK a été créée avec succès.

setCapturePipelineScaleMode

Définit le moment de la mise à l'échelle de la capture vidéo.

public abstract void setCapturePipelineScaleMode(AliRtcCapturePipelineScaleMode mode);

Détermine si la mise à l'échelle des données de capture vidéo s'effectue immédiatement lors de la capture ou pendant l'encodage. Par exemple, lorsque la résolution de capture diffère de la résolution d'encodage, vous pouvez définir le moment de la mise à l'échelle pour déterminer si les données de prévisualisation et les données d'ingestion de flux sont cohérentes.

Moment de l'appel

Définissez cette méthode avant d'activer la caméra. Par exemple, configurez-la avant de démarrer la prévisualisation avec startPreview ou de rejoindre un canal avec joinChannel.

Paramètres

Paramètre

Type

Description

mode

AliRtcCapturePipelineScaleMode

Ce mode contrôle le moment de la mise à l'échelle de la collecte. Par défaut, la mise à l'échelle s'effectue immédiatement lors de la collecte.

Description du retour

Aucun.

setExternalVideoSource

Active une source d'entrée vidéo externe.

public abstract void setExternalVideoSource(boolean enable,boolean useTexture,
 AliRtcVideoTrack streamType,AliRtcRenderMode renderMode);

Paramètres

Paramètre

Type

Description

enable

boolean

Spécifie s'il faut activer la source d'entrée vidéo externe. Valeurs valides :

  • true : Activer.

  • false (par défaut) : Désactiver.

useTexture

boolean

Spécifie s'il faut utiliser le mode texture.

  • true : Activer.

  • false (valeur par défaut) : Le paramètre est désactivé.

type

AliRtcVideoTrack

Type de flux vidéo.

renderMode

AliRtcRenderMode

Mode de rendu.

pushExternalVideoFrame

Importe des données vidéo.

public abstract int pushExternalVideoFrame(AliRtcRawDataFrame aliRawDataFrame,AliRtcVideoTrack streameType);

Paramètres

Paramètre

Type

Description

aliRawDataFrame

AliRtcRawDataFrame

Les données de la trame.

streameType

AliRtcVideoTrack

Type de flux vidéo.

Description de la réponse

Une valeur de 0 indique que l'appel a réussi. Toute autre valeur indique un échec.

startPublishLiveStream

Démarre la diffusion en direct relayée.

public abstract int startPublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

Paramètres

Paramètre

Type

Description

streamUrl

String

L'URL d'ingestion.

transcodingParam

AliRtcLiveTranscodingParam

Les paramètres d'ingestion de flux.

Description de la réponse

Une valeur de 0 indique que l'appel a réussi. Toute autre valeur indique un échec.

updatePublishLiveStream

Met à jour les paramètres de diffusion en direct de contournement.

public abstract int updatePublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

Paramètres

Paramètre

Type

Description

streamUrl

String

L'URL d'ingestion.

transcodingParam

AliRtcLiveTranscodingParam

Les paramètres d'ingestion de flux.

Instructions de retour

Une valeur de 0 indique un succès. Toute autre valeur indique un échec.

stopPublishLiveStream

Arrête le flux en direct de contournement.

public abstract int stopPublishLiveStream(String streamUrl);

Paramètres

Paramètre

Type

Description

streamUrl

String

L'URL d'ingestion.

Description du retour

Une valeur de 0 indique un succès. Toute autre valeur indique un échec.

getPublishLiveStreamState

Récupère l'état de la diffusion en direct de contournement.

public abstract AliRtcEngine.AliRtcLiveTranscodingState getPublishLiveStreamState(String streamUrl);

Paramètres

Paramètre

Type

Remarque

streamUrl

String

L'URL d'ingestion pour la diffusion en direct de contournement.

Instructions de retour

Retourne l'état de la diffusion en direct de contournement.

startNetworkQualityProbeTest

Active le test de qualité du réseau.

public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);

Paramètres

Paramètre

Type

Description

config

AlirtcNetworkQualityProbeConfig

Les paramètres de configuration du test.

Description du retour

Une valeur de 0 indique un succès, tandis qu'une valeur différente de zéro indique un échec.

stopNetworkQualityProbeTest

Arrête le test de qualité du réseau.

public abstract int stopNetworkQualityProbeTest();

Description du retour

Une valeur de 0 indique un succès. Toute autre valeur indique un échec.

sendMediaExtensionMsg

Envoie des informations d'extension média.

public abstract int sendMediaExtensionMsg(byte[]message, int repeatCount, int delay, boolean isKeyFrame);

Le SDK permet d'envoyer et de recevoir des messages d'extension média. La méthode d'envoi utilise le protocole d'extension SEI. Les destinataires peuvent obtenir les messages en écoutant l'événement onMediaExtensionMsgReceived.

Les cas d'utilisation courants incluent :

  • Utiliser les informations d'extension média pour transmettre des horodatages, calculer la latence réseau de bout en bout ou synchroniser des données avec d'autres opérations métier.

  • Utiliser les informations d'extension média pour transmettre des informations descriptives. Vous pouvez transmettre jusqu'à 4 Ko de données, ce qui convient aux petits volumes de données. Nous recommandons d'utiliser JSON ou des chaînes de texte brut.

Moment de l'appel

Vous pouvez appeler cette méthode après avoir démarré l'ingestion de flux.

Limitations

L'utilisation des informations d'extension média nécessite la réutilisation du canal de données audio et vidéo. Par conséquent, vous devez contrôler la fréquence d'envoi des messages personnalisés ainsi que la longueur des données du message. Les limitations sont les suivantes :

  • Vous pouvez envoyer jusqu'à fps messages par seconde, comme spécifié dans le profil, car les informations SEI sont intégrées dans les flux H.264 ou H.265 et nécessitent l'encodage de trames vidéo pour attacher les informations d'extension.

  • Pour éviter d'impacter la qualité de transmission des données média, le corps du message personnalisé est limité à 4 Ko, ce qui convient aux petites quantités d'informations.

  • Le paramètre repeatCount de la fonction sendMediaExtensionMsg spécifie le niveau de redondance des messages personnalisés. Si cette valeur est supérieure à 1, le message est envoyé plusieurs fois.

  • Cette redondance aide à prévenir la perte de messages causée par la perte de paquets réseau. Dans ce cas, les autres participants de la salle reçoivent plusieurs messages identiques et doivent les dédupliquer.

  • Les abonnés dans la salle reçoivent également les messages personnalisés lors de la diffusion en direct relayée.

  • Un seul MediaExtensionMsg est transmis à la fois. Plusieurs appels à sendMediaExtensionMsg écrasent les données précédemment mises en file d'attente.

Callbacks associés

Le récepteur de flux peut récupérer les informations d'extension média envoyées par l'émetteur de flux en écoutant le callback onMediaExtensionMsgReceived.

Paramètres

Paramètre

Type

Description

message

byte[]

Informations d'extension média. La longueur maximale est de 4 Ko.

repeatCount

int

Le nombre de répétitions indique la redondance du message. Cela permet d'éviter la perte de messages due à la perte de paquets réseau. Une valeur de -1 signifie une transmission infinie.

Delay

int

Délai en millisecondes. Il s'agit du temps d'attente minimum après l'appel de l'API avant l'envoi des informations d'extension.

isKeyFrame

boolean

Spécifie s'il faut attacher les informations d'extension uniquement aux trames clés. Une valeur true attache les informations uniquement aux trames clés.

Instructions de retour

  • 0 : L'appel a réussi.

  • <0 : L'appel a échoué. Un code d'erreur est retourné.

    • ERR_INNER(-1) : Erreur interne du SDK. Causes possibles : Le SDK n'est pas initialisé, ou il est appelé après avoir été détruit.

sendMediaExtensionMsgEx

Envoie des informations d'extension média.

public abstract int sendMediaExtensionMsgEx(byte[]message, int repeatCount, int delay, boolean isKeyFrame, int payloadType);

Le SDK fournit une fonctionnalité pour envoyer et recevoir des informations d'extension média. Cette méthode envoie des informations d'extension média via le protocole d'extension SEI. Vous pouvez obtenir ces informations en écoutant onMediaExtensionMsgReceived. Lorsque payloadType vaut 5, cela équivaut à utiliser l'interface sendMediaExtensionMsg.

Les cas d'utilisation courants incluent :

  • Utiliser les informations d'extension média pour transmettre des horodatages, calculer la latence réseau de bout en bout ou synchroniser des données avec d'autres opérations métier.

  • Utiliser les informations d'extension média pour transmettre des informations descriptives. Vous pouvez transmettre jusqu'à 4 Ko de données, ce qui convient aux petits volumes de données. Nous recommandons d'utiliser JSON ou des chaînes de texte brut.

Moment de l'appel

Vous pouvez appeler cette méthode après avoir démarré l'ingestion de flux.

Limitations

L'utilisation des informations d'extension média nécessite la réutilisation du canal de données audio et vidéo. Par conséquent, vous devez contrôler la fréquence d'envoi des messages personnalisés ainsi que la longueur des données du message. Les limitations sont les suivantes :

  • Vous pouvez envoyer jusqu'à fps messages par seconde, comme spécifié dans le profil, car les informations SEI sont intégrées dans les flux H.264 ou H.265 et nécessitent l'encodage de trames vidéo pour attacher les informations d'extension.

  • Pour éviter de dégrader la qualité de transmission des données média, le corps du message personnalisé est limité à 4 Ko, ce qui convient aux petites quantités d'informations.

  • Le paramètre repeatCount de la fonction sendMediaExtensionMsg spécifie le niveau de redondance des messages personnalisés. Si cette valeur est supérieure à 1, le message est envoyé plusieurs fois.

  • Cette redondance aide à prévenir la perte de messages causée par la perte de paquets réseau. Dans ce cas, les autres participants de la salle reçoivent plusieurs messages identiques et doivent les dédupliquer.

  • Les abonnés dans la salle reçoivent également les messages personnalisés lors de la diffusion en direct relayée.

  • Un seul MediaExtensionMsg est transmis à la fois. Plusieurs appels à sendMediaExtensionMsg écrasent les données précédemment mises en file d'attente.

Description des paramètres

Paramètre

Type

Description

Message

byte[]

Informations d'extension média. Longueur maximale : 4 Ko.

repeatCount

int

Nombre de répétitions, représentant la redondance du message pour éviter sa perte due à la perte de paquets réseau. Une valeur de -1 signifie une transmission infinie.

Delay

int

Délai, en millisecondes. Il s'agit du délai le plus court pour envoyer des données d'extension après un appel d'API.

isKeyFrame

boolean

Seules les trames clés utilisent les informations d'extension. Si true, les informations d'extension sont attachées uniquement aux trames clés.

payloadType

int

La plage [5, 100..254] pour payloadType=5 équivaut à utiliser l'interface sendMediaExtensionMsg.

Description du retour

  • 0 : L'appel a réussi.

  • <0 : L'appel a échoué et retourne un code d'erreur.

    • ERR_INNER(-1) : Une erreur interne du SDK s'est produite. Les causes possibles incluent l'échec de l'initialisation du SDK ou l'appel du SDK après sa destruction.

onConnectionStatusChange

Ce callback est invoqué lorsque l'état de la connexion réseau change. Il est important de surveiller ce callback.

public void onConnectionStatusChange(AliRtcEngine.AliRtcConnectionStatus status,
 AliRtcEngine.AliRtcConnectionStatusChangeReason reason);

Paramètres

Paramètre

Type

Description

status

AliRtcConnectionStatus

L'état actuel de la connexion réseau.

reason

AliRtcConnectionStatusChangeReason

Raison du changement d'état de la connexion réseau.

OnLocalDeviceException

Callback invoqué lorsqu'une exception de périphérique local se produit. Portez une attention particulière à ce callback.

public void OnLocalDeviceException(AliRtcEngine.AliRtcEngineLocalDeviceType deviceType, AliRtcEngine.AliRtcEngineLocalDeviceExceptionType exceptionType, String msg)

Paramètres

Paramètre

Type

Description

deviceType

AliRtcEngineLocalDeviceType

Type de périphérique

exceptionType

AliRtcEngineLocalDeviceExceptionType

Le type d'exception du périphérique.

msg

String

Les informations contenues dans l'exception.

onAuthInfoWillExpire

Ce callback indique que l'authentification de l'utilisateur expirera dans 30 secondes. Vous devez traiter ce callback.

public void onAuthInfoWillExpire();

Ce callback indique que les informations d'authentification de l'utilisateur expireront dans 30 secondes. Vous devez obtenir un nouveau jeton et mettre à jour les informations d'authentification en utilisant l'une des méthodes suivantes :

  • Appelez <a baseurl="t2309760_v6_4_1.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#975b9af9ecq1a" id="8099ac5a509hn">refreshAuthInfo</a> pour mettre à jour les informations d'authentification.

  • Appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="fe88be037dy4g">leaveChannel</a> pour quitter le canal actuel, puis appelez joinChannel pour rejoindre à nouveau le canal.

Moment du déclenchement

Le SDK déclenche ce callback 30 secondes avant l'expiration des informations d'authentification de l'utilisateur. Lorsque vous recevez ce callback, vous devez mettre à jour les informations d'authentification rapidement.

onAuthInfoExpired

L'utilisateur appelle une interface nécessitant une authentification, et le serveur retourne des informations expirées.

public void onAuthInfoExpired();

Ce callback indique que les informations d'authentification de l'utilisateur ont expiré. Si vous souhaitez rester dans la session, vous devez générer un nouveau jeton sur le serveur, puis mettre à jour les informations d'authentification en utilisant la méthode suivante :

  • Appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="c3b0cf2f19dgm">leaveChannel</a> pour quitter le canal actuel. Ensuite, appelez joinChannel pour y revenir.

Moment du déclenchement

Ce callback est déclenché lorsque les informations d'authentification de l'utilisateur expirent.

onJoinChannelResult

Ce callback retourne le résultat de la jonction d'un canal.

public void onJoinChannelResult(int result, String channel, String userId, int elapsed);

Paramètres

Paramètre

Type

Description

result

int

Résultat de la demande de jonction du canal. Une valeur de 0 indique un succès. Une valeur différente de zéro indique un code d'erreur listé dans Codes d'erreur. Codes d'erreur courants :

  • ERR_JOIN_BAD_APPID : L'AppId n'existe pas.

  • ERR_JOIN_INVALID_APPID : L'AppId est invalide.

  • ERR_JOIN_BAD_CHANNEL : Le canal n'existe pas.

  • ERR_JOIN_INVALID_CHANNEL : Le canal est invalide.

  • ERR_JOIN_BAD_TOKEN : Le jeton n'existe pas.

  • ERR_JOIN_TIMEOUT : La demande de jonction du canal a expiré.

  • ERR_JOIN_BAD_PARAM : Paramètres invalides pour rejoindre le canal.

  • ERR_JOIN_FAILED : Échec de la jonction du canal.

  • ERR_JOIN_CONFIG_INVALID : Paramètres de jonction invalides, tels qu'un jeton vide.

channel

String

L'ID du canal.

userId

String

ID utilisateur.

elapsed

int

Temps nécessaire pour rejoindre le canal. Unité : millisecondes.

onLeaveChannelResult

Callback retournant le résultat de la sortie d'un canal.

public void onLeaveChannelResult(int result, AliRtcEngine.AliRtcStats stats);

Conditions de déclenchement

Ce callback est déclenché lorsque l'application appelle avec succès <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="7f3d2133c81tx">leaveChannel</a> et que le système retourne le résultat de la sortie du canal ainsi que les statistiques de la session.

Remarque

Si vous appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="fdccda828dzqt">leaveChannel</a> puis appelez immédiatement destroy pour détruire le moteur, ce callback n'est pas déclenché.

Paramètres

Paramètre

Type

Description

result

int

Résultat de la sortie du canal. Une valeur de 0 indique un succès. Une valeur différente de zéro indique un code d'erreur en cas d'échec de l'opération.

stats

AliRtcStats

Statistiques des données pour la session dans ce canal.

onRemoteUserOffLineNotify

Callback de déconnexion d'un utilisateur distant.

public void onRemoteUserOffLineNotify(String uid, AliRtcUserOfflineReason reason);

Ce callback notifie à l'utilisateur local qu'un utilisateur distant a quitté le canal parce qu'il s'est déconnecté.

Conditions de déclenchement

  • Lorsqu'un utilisateur distant quitte activement le canal, le callback est déclenché.

  • Lorsqu'un diffuseur distant appelle <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="4c0adbe948tif">setClientRole</a> pour passer au rôle de spectateur (en appelant AliRtcEngine#setClientRole et en définissant le rôle sur AliRTCSdkLive), le callback est déclenché.

  • Lorsqu'un diffuseur distant est considéré comme déconnecté parce qu'aucune donnée n'a été reçue de sa part pendant une période prolongée, le callback est déclenché.

Paramètres

Paramètre

Type

Description

uid

String

L'ID de l'utilisateur distant.

reason

AliRtcUserOfflineReason

La raison pour laquelle l'utilisateur s'est déconnecté.

onRemoteUserOnLineNotify

Ce callback est invoqué lorsqu'un utilisateur distant se connecte.

public void onRemoteUserOnLineNotify(String uid, int elapsed);

Cette méthode notifie au client local qu'un utilisateur distant a rejoint le canal.

Conditions de déclenchement

  • Un utilisateur distant rejoint le canal.

  • Après que l'utilisateur local a rejoint le canal, ce callback est invoqué pour chaque utilisateur déjà présent dans le canal. Cela permet à l'utilisateur local d'identifier les utilisateurs existants.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

elapsed

int

Temps nécessaire pour qu'un utilisateur rejoigne le canal. Unité : millisecondes.

onRemoteTrackAvailableNotify

Ce callback est déclenché lorsque les flux audio et vidéo d'un utilisateur distant changent.

public void onRemoteTrackAvailableNotify(String uid, AliRtcAudioTrack audioTrack,
 AliRtcVideoTrack videoTrack);

Ce callback signale tout changement dans l'état de publication des flux d'un utilisateur distant. Il permet aux développeurs de savoir en temps réel si les utilisateurs distants publient des flux audio et vidéo, afin d'afficher ou de masquer leurs informations multimédias en conséquence.

Remarque

Ce callback retourne l'état de publication du flux de l'utilisateur distant. Pour identifier quel flux s'est déconnecté lors du changement, enregistrez les états avant et après l'appel du callback.

Conditions de déclenchement

Ce callback se déclenche dans les scénarios suivants :

  • Un utilisateur distant passe d'un état sans publication de flux à un état avec publication (audio et vidéo inclus).

  • L'utilisateur distant arrête la diffusion audio et vidéo.

  • En mode interactif, ce callback est appelé lorsqu'un utilisateur distant utilise setClientRole pour passer du rôle de spectateur à celui de diffuseur et configure la publication des flux.

Par exemple, pour la vidéo, ce callback ne se déclenche pas si l'utilisateur distant ne publie aucun flux.

  • Lorsqu'un utilisateur distant commence à publier un flux caméra (état : aucun flux vidéo -> flux caméra uniquement), le callback local retourne AliRtcVideoTrackCamera, indiquant que le flux caméra distant est disponible.

  • Si cet utilisateur ajoute également un flux de partage d'écran (état : flux caméra uniquement -> flux caméra et partage d'écran), le callback local retourne AliRtcVideoTrackBoth, signalant la disponibilité simultanée des deux flux.

  • Quand l'utilisateur distant coupe le flux caméra mais conserve le partage d'écran (état : flux caméra et partage d'écran -> partage d'écran uniquement), le callback local retourne AliRtcVideoTrackScreen, indiquant que seul le flux de partage d'écran reste actif.

  • Enfin, si l'utilisateur distant arrête le partage d'écran (état : partage d'écran uniquement -> aucun flux vidéo), le callback local retourne AliRtcVideoTrackNo, confirmant l'absence totale de flux vidéo.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

audioTrack

AliRtcAudioTrack

Flux audio de l'utilisateur distant après modification.

videoTrack

AliRtcVideoTrack

Flux vidéo de l'utilisateur distant après modification.

onBye

Callback invoqué lorsqu'un utilisateur est forcé de quitter un canal ou lorsque le canal est fermé.

public void onBye(int code);

Ce callback signale la déconnexion d'un utilisateur ou la fin d'une session. Le paramètre code permet d'identifier la raison de la déconnexion et d'adapter le traitement en conséquence.

Conditions de déclenchement

  • Le serveur expulse l'utilisateur actuel.

  • La session prend fin car le serveur ferme le canal.

  • Une déconnexion inattendue survient, obligeant le client à tenter une restauration de session ou une reconnexion.

Paramètres

Paramètre

Type

Description

code

int

Raison du retrait de l'utilisateur du canal. Définie dans AliRtcOnByeType.

onAudioPublishStateChanged

Ce callback est invoqué lorsque l'état de publication du flux audio change.

public void onAudioPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState,
 int elapseSinceLastState, String channel);

Ce callback surveille les modifications de l'état de publication du flux audio de l'utilisateur local.

Conditions de déclenchement

Ce callback se déclenche lors d'un changement d'état de publication audio, par exemple :

  • L'utilisateur arrête la publication du flux.

  • L'utilisateur appelle <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="e6c8edfc45xbw">setClientRole</a> pour passer en mode spectateur.

Paramètres

Paramètre

Type

Description

oldState

AliRtcPublishState

État précédent de la publication du flux.

newState

AliRtcPublishState

État actuel de la publication du flux.

elapseSinceLastState

int

Intervalle entre les changements d'état. Unité : millisecondes.

channel

String

ID du canal.

onAudioSubscribeStateChanged

Callback invoqué lorsque l'état d'abonnement audio change.

public void onAudioSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Ce callback notifie l'utilisateur local des changements d'état d'abonnement au flux audio d'un utilisateur distant. Il signale également les variations concernant le flux caméra et indique le temps écoulé entre l'état précédent et l'état actuel.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

oldState

AliRtcSubscribeState

État d'abonnement précédent.

newState

AliRtcSubscribeState

État d'abonnement actuel.

elapseSinceLastState

int

Intervalle de temps entre les changements d'état. Unité : millisecondes.

channel

String

ID du canal actuel.

onUserAudioMuted

Une notification est envoyée lorsque l'utilisateur distant cesse d'envoyer des données audio.

public void onUserAudioMuted(String uid ,boolean isMute);

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur qui a coupé la piste audio.

isMute

boolean

Indique si la piste audio est coupée. Valeurs valides :

  • true : coupée

  • false : active

onUserAudioInterruptedBegin

Ce callback est invoqué lorsque l'audio d'un utilisateur est interrompu.

public void onUserAudioInterruptedBegin(String uid);

Paramètres

Paramètre

Type

Description

uid

String

Utilisateur dont l'audio est interrompu.

onUserAudioInterruptedEnded

Une notification est envoyée lorsque l'interruption audio d'un utilisateur prend fin.

public void onUserAudioInterruptedEnded(String uid);

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur dont la piste audio a été interrompue.

onVideoPublishStateChanged

Callback signalant les changements de publication du flux vidéo.

public void onVideoPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState, 
 int elapseSinceLastState, String channel);

Ce callback surveille l'état de publication du flux vidéo de l'utilisateur local.

Paramètres

Paramètre

Type

Description

oldState

AliRtcPublishState

État précédent de la publication du flux.

newState

AliRtcPublishState

État actuel de la publication du flux.

elapseSinceLastState

int

Intervalle de temps entre les changements d'état. Unité : millisecondes.

channel

String

ID du canal.

onVideoSubscribeStateChanged

Ce callback est invoqué lorsque l'état d'abonnement au flux caméra change.

public void onVideoSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Ce callback informe l'utilisateur local des modifications d'abonnement au flux caméra d'un utilisateur distant. Il fournit des détails sur ces changements ainsi que l'intervalle de temps écoulé entre l'état précédent et l'état actuel.

Callbacks associés

Les flux vidéo comprennent les flux caméra et les flux de partage d'écran. Cette méthode gère les changements d'état d'abonnement pour le flux caméra. Pour le partage d'écran, référez-vous au callback onScreenShareSubscribeStateChanged.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

oldState

AliRtcSubscribeState

État d'abonnement précédent.

newState

AliRtcSubscribeState

État d'abonnement actuel.

elapseSinceLastState

int

Intervalle de temps entre les changements d'état.

channel

String

ID du canal actuel.

onUserVideoMuted

Notification envoyée lorsque l'utilisateur distant transmet des trames vidéo noires.

public void onUserVideoMuted(String uid, boolean isMute);

Paramètres

Paramètre

Type

Description

uid

String

Utilisateur exécutant enableLocalVideo.

isMute

boolean

Spécifie s'il faut envoyer des trames noires. Valeurs valides :

  • true : envoi de trames noires.

  • false : publication normale du flux.

onUserVideoEnabled

Une notification est envoyée lorsque l'utilisateur distant arrête le flux caméra.

public void onUserVideoEnabled(String uid, boolean isMute);

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

isMute

boolean

Active la capture de la piste caméra. Valeurs valides :

  • true : activation de la capture caméra

  • false : désactivation de la capture caméra

onUserWillResignActive

Ce callback est invoqué lorsque l'application d'un utilisateur distant passe en arrière-plan.

public void onUserWillResignActive(String uid);

Paramètres

Paramètre

Type

Description

uid

String

ID utilisateur.

onUserWillBecomeActive

L'application de l'utilisateur distant revient au premier plan.

public void onUserWillBecomeActive(String uid);

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur.

onAliRtcStats

Ce callback se déclenche toutes les deux secondes pour rapporter les statistiques de la session en cours.

public void onAliRtcStats(AliRtcEngine.AliRtcStats stats);

Paramètres

Paramètre

Type

Description

stats

AliRtcStats

Statistiques de la session.

onAudioEffectFinished

Ce callback est invoqué lorsqu'un effet sonore local termine sa lecture.

void OnAudioEffectFinished(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

ID attribué par l'utilisateur au fichier d'effet sonore.

onAudioFileInfo

Callback fournissant des informations sur le fichier audio.

public void onAudioFileInfo(AliRtcEngine.AliRtcAudioFileInfo info, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Lorsque vous appelez getAudioFileInfo, ce callback se déclenche et retourne des informations telles que la durée du fichier audio ou un message d'erreur.

Paramètres

Paramètre

Type

Description

Information

AliRtcEngine.AliRtcAudioFileInfo

Informations sur le fichier audio, incluant le chemin et la durée.

errorCode

AliRtcEngine.AliRtcAudioAccompanyErrorCode

Codes d'erreur de l'accompagnement audio, indiquant principalement des échecs d'ouverture ou de décodage de fichier.

onMediaExtensionMsgReceived

Ce callback est invoqué lors de la réception d'informations d'extension média.

public void onMediaExtensionMsgReceived(String uid, int payloadType, byte[]message);

Lorsqu'un endpoint appelle sendMediaExtensionMsg pour envoyer un message, les autres endpoints reçoivent les données via ce callback.

Paramètres

Paramètre

Type

Description

uid

String

ID utilisateur. Identifiant de l'utilisateur ayant envoyé les informations média.

payloadType

int

Type de charge utile. sendMediaExtensionMsg retourne 5. sendMediaExtensionMsgEx retourne un type spécifique.

Message

byte[]

Informations d'extension média.

onFirstRemoteVideoFrameDrawn

Ce callback est invoqué lorsque la première trame vidéo d'un utilisateur distant est rendue.

public void onFirstRemoteVideoFrameDrawn(String uid,AliRtcVideoTrack videoTrack, int width, int height, int elapsed);

Ce callback signale le rendu de la première trame vidéo distante. Il se déclenche lorsque l'utilisateur local reçoit et affiche avec succès cette première trame. Il aide les développeurs à mesurer le temps d'établissement du lien vidéo distant, à évaluer les performances réseau et matérielles, et à optimiser l'expérience utilisateur.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

videoTrack

AliRtcVideoTrack

Type de flux vidéo à accepter.

Width

int

Largeur du flux vidéo tiré.

Height

int

Hauteur du flux vidéo tiré.

elapsed

int

Délai total en millisecondes entre l'entrée de l'utilisateur local dans le canal et l'apparition de la première trame du flux vidéo tiré.

onFirstLocalVideoFrameDrawn

Ce callback est invoqué lorsque la première trame vidéo locale est rendue pendant la prévisualisation.

public void onFirstLocalVideoFrameDrawn(int width, int height, int elapsed);

Ce callback se déclenche après l'activation de la caméra locale et le rendu de la première trame vidéo. Utilisez-le pour surveiller la vitesse de rendu de la prévisualisation locale, évaluer les performances de l'appareil et améliorer l'expérience utilisateur, par exemple en affichant un message « Caméra prête » ou en ajustant la mise en page.

Paramètres

Paramètre

Type

Description

width

int

Largeur de la vidéo de prévisualisation locale.

height

int

Hauteur de la vidéo de prévisualisation locale.

Elapsed

int

Temps total écoulé (en millisecondes) entre l'entrée de l'utilisateur local dans un canal et l'affichage de la première trame de prévisualisation.

onFirstVideoFrameReceived

Ce callback est invoqué lors de la réception de la première trame vidéo d'un utilisateur distant.

public void onFirstVideoFrameReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Utilisez ce callback pour surveiller le temps d'établissement du lien vidéo, évaluer la qualité du réseau et optimiser l'expérience utilisateur. Vous pouvez par exemple afficher un message « Vidéo prête » ou ajuster la logique de lecture.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

videoTrack

AliRtcVideoTrack

Type de flux vidéo à accepter.

timeCost

int

Temps nécessaire pour envoyer le premier paquet vidéo, mesuré en millisecondes à partir de l'entrée de l'utilisateur dans la réunion.

onFirstVideoPacketSent

Ce callback est invoqué lors de l'envoi du premier paquet vidéo.

public void onFirstVideoPacketSent(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Ce callback se déclenche lorsque l'utilisateur local envoie avec succès son premier paquet de données vidéo. Il permet aux développeurs de surveiller la vitesse d'établissement du lien d'envoi vidéo, d'évaluer les performances locales et d'optimiser l'expérience utilisateur, notamment en affichant « Vidéo envoyée » ou en ajustant la politique de capture.

Paramètres

Paramètre

Type

Description

UID

String

ID de l'utilisateur distant.

videoTrack

AliRtcVideoTrack

Types de flux vidéo acceptés.

timeCost

int

Temps écoulé entre l'entrée dans la réunion et l'envoi du premier paquet vidéo. Mesuré en millisecondes.

onFirstAudioPacketSent

Ce callback est invoqué lorsque l'utilisateur local envoie avec succès son premier paquet audio.

public void onFirstAudioPacketSent(String uid, AliRtcAudioTrack track, int timeCost);

Les développeurs peuvent utiliser ce callback pour surveiller la rapidité d'établissement du lien d'envoi audio, évaluer les performances locales et optimiser l'expérience utilisateur.

Paramètres

Paramètres

Type

Description

UID

String

ID de l'utilisateur distant.

track

AliRtcAudioTrack

Types de flux audio acceptés.

timeCost

int

Durée d'envoi : temps écoulé entre l'entrée dans une session et l'envoi du premier paquet audio. Unité : millisecondes.

onFirstVideoPacketReceived

Ce callback est invoqué lors de la réception du premier paquet vidéo.

public void onFirstVideoPacketReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost)

Ce callback signale la réception du premier paquet vidéo distant. Il se déclenche lorsque l'utilisateur local reçoit le premier paquet vidéo d'un utilisateur distant. Les développeurs peuvent l'utiliser pour surveiller la vitesse d'établissement du lien vidéo ou mettre à jour les composants UI du flux de lecture.

Paramètres

Paramètres

Type

Description

uid

String

ID de l'utilisateur distant.

video track

AliRtcVideoTrack

Type de flux vidéo à accepter.

timeCost

int

Temps écoulé entre l'entrée de l'utilisateur local dans un canal et la réception du premier paquet vidéo (en millisecondes).

onFirstAudioPacketReceived

Ce callback se déclenche lors de la réception du premier paquet audio d'un utilisateur distant.

public void onFirstAudioPacketReceived(String uid, AliRtcAudioTrack track, int timeCost)

Ce callback notifie l'utilisateur local de la réception du premier paquet de données audio provenant d'un utilisateur distant. Il aide les développeurs à surveiller la vitesse d'établissement du lien audio, à évaluer la qualité du réseau et à optimiser l'expérience utilisateur, par exemple en affichant une invite « Audio connecté » ou en ajustant la politique de lecture.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

track

AliRtcAudioTrack

Type de flux audio accepté.

timeCost

int

Durée, en millisecondes, entre le moment où l'utilisateur local rejoint un canal et la réception du premier paquet audio.

onFirstRemoteAudioDecoded

Ce rappel est invoqué lorsque la première trame audio d'un utilisateur distant a été décodée et est prête pour la lecture.

public void onFirstRemoteAudioDecoded(String uid, AliRtcAudioTrack track, int elapsed)

Ce rappel indique que le flux audio distant est prêt. Vous pouvez l'utiliser pour calculer le délai avant la première trame ou pour mettre à jour des composants de l'interface utilisateur.

Paramètres

Paramètre

Type

Description

UID

String

ID de l'utilisateur distant.

track

AliRtcAudioTrack

Type de flux audio.

elapsed

int

Latence, en millisecondes, entre le moment où l'utilisateur local rejoint un canal et le décodage de la première trame audio.

onAudioAccompanyStateChanged

Ce rappel est invoqué lorsque l'état de lecture de l'accompagnement audio local change.

public void onAudioAccompanyStateChanged(AliRtcEngine.AliRtcAudioAccompanyStateCode playState, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Ce rappel signale les changements d'état de lecture de l'accompagnement local. Il notifie les développeurs en temps réel de l'état actuel de lecture (démarrage, pause ou fin) ainsi que des codes d'erreur associés. Les développeurs peuvent s'en servir pour surveiller la progression de la lecture, gérer les exceptions et mettre à jour l'interface utilisateur.

Paramètres

Paramètre

Type

Description

playState

AliRtcEngine.AliRtcAudioAccompanyStateCode

État de lecture de l'accompagnement.

errorCode

AliRtcEngine.AliRtcAudioAccompanyErrorCode

Codes d'erreur de lecture indiquant principalement des problèmes lors de l'ouverture ou du décodage des fichiers.

onRemoteAudioAccompanyStarted

Rappel invoqué lorsqu'un utilisateur distant démarre la lecture d'un accompagnement audio.

public void onRemoteAudioAccompanyStarted(String uid);

Ce rappel notifie l'application locale lorsqu'un utilisateur distant commence à diffuser un accompagnement audio, tel qu'une musique de fond. Vous pouvez alors exécuter une logique d'initialisation, par exemple mettre à jour l'interface utilisateur, ajuster le volume ou informer d'autres utilisateurs.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant ayant démarré la lecture de l'accompagnement.

onRemoteAudioAccompanyFinished

Ce rappel est invoqué lorsqu'un utilisateur distant termine la lecture de son accompagnement audio.

public void onRemoteAudioAccompanyFinished(String uid);

Il signale à l'application locale la fin de lecture d'un accompagnement audio distant (musique de fond ou effets sonores). Les développeurs peuvent utiliser ce rappel pour déclencher des actions ultérieures, comme afficher une notification à l'utilisateur ou mettre à jour un statut.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant dont la lecture de la piste d'accompagnement se termine.

onVideoResolutionChanged

La résolution de la vidéo distante a changé.

public void onVideoResolutionChanged(String uid,AliRtcVideoTrack videoTrack, int width, int height);

Ce rappel vous informe des modifications de résolution du flux vidéo d'un utilisateur distant. Il se déclenche lorsque l'utilisateur distant change de caméra, ajuste la clarté vidéo ou subit une dégradation de résolution due aux fluctuations du réseau. Vous pouvez exploiter ce rappel pour adapter dynamiquement la logique de rendu vidéo locale, notamment la disposition de l'interface, la mise à l'échelle du canevas ou l'optimisation des performances.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant dont la résolution change.

videoTrack

AliRtcVideoTrack

Type de flux vidéo, par exemple un flux caméra ou un flux d'écran.

width

int

Nouvelle largeur de la résolution vidéo.

height

int

Nouvelle hauteur de la résolution vidéo.

onRtcLocalVideoStats

Rappel fournissant des statistiques sur les flux vidéo locaux publiés.

public void onRtcLocalVideoStats(AliRtcEngine.AliRtcLocalVideoStats aliRtcStats);

Ce rappel fournit des informations en temps réel sur l'état d'encodage et de transmission du flux vidéo local, telles que le débit binaire et la fréquence d'images. Il permet de surveiller la qualité vidéo, de diagnostiquer les problèmes de performance ou d'ajuster dynamiquement les paramètres d'encodage.

Paramètres

Paramètre

Type

Description

aliRtcStats

AliRtcEngine.AliRtcLocalVideoStats

Statistiques de poussée vidéo locale : débit binaire de publication et fréquence d'images. Défini dans AliRtcLocalVideoStats.

onRtcRemoteVideoStats

Ce rappel fournit des statistiques sur les flux vidéo distants abonnés.

public void onRtcRemoteVideoStats(AliRtcEngine.AliRtcRemoteVideoStats aliRtcStats);

Ce rappel délivre des statistiques en temps réel sur les flux vidéo distants. Il récupère des informations sur l'état d'encodage et de transmission de la vidéo distante, notamment le débit binaire, la fréquence d'images, la résolution, la latence et les saccades. Les développeurs peuvent l'utiliser pour surveiller la qualité vidéo, diagnostiquer les problèmes de performance ou ajuster dynamiquement les paramètres de décodage.

Paramètres

Paramètre

Type

Description

aliRtcStats

AliRtcEngine.AliRtcRemoteVideoStats

Statistiques de tirage vidéo distante : ID de l'utilisateur distant, résolution vidéo, fréquence d'images et nombre de saccades. Défini dans AliRtcRemoteVideoStats.

onRtcRemoteAudioStats

Statistiques relatives au flux audio distant abonné.

public void onRtcRemoteAudioStats(AliRtcEngine.AliRtcRemoteAudioStats aliRtcStats);

Ce rappel fournit des statistiques en temps réel sur un flux audio distant, telles que la qualité audio, le taux de perte de paquets et la latence. Vous pouvez l'utiliser pour surveiller la stabilité de la connexion audio distante, diagnostiquer les problèmes réseau et ajuster dynamiquement les politiques de lecture, par exemple en activant la réduction de bruit ou en invitant les utilisateurs à optimiser leur réseau.

Paramètres

Paramètre

Type

Description

aliRtcStats

AliRtcEngine.AliRtcRemoteAudioStats

Statistiques de tirage audio distant : ID de l'utilisateur distant, qualité audio, taux de perte de paquets, nombre de saccades et latence. Défini dans AliRtcRemoteAudioStats.

onRtcLocalAudioStats

Signale les statistiques du flux audio local publié.

public void onRtcLocalAudioStats(AliRtcEngine.AliRtcLocalAudioStats aliRtcStats);

Ce rappel fournit des statistiques en temps réel sur l'ingestion du flux audio local, y compris l'état d'encodage et de transmission (débit binaire, fréquence d'échantillonnage, nombre de canaux audio et taux de perte de paquets). Il permet de surveiller la stabilité de la liaison audio locale, de diagnostiquer les problèmes de performance et d'ajuster dynamiquement les politiques d'encodage, par exemple en réduisant le débit binaire.

Paramètres

Paramètre

Type

Description

aliRtcStats

AliRtcEngine.AliRtcLocalAudioStats

Statistiques de poussée audio locale : type de flux audio, débit binaire d'envoi, fréquence d'échantillonnage et nombre de canaux. Défini dans AliRtcLocalAudioStats.

onAudioFocusChange

Rappel invoqué lors d'un changement de focus audio (Android uniquement).

public void onAudioFocusChange(int focusChange);

Notifications concernant les changements de focus audio. Par défaut, le SDK demande automatiquement le focus audio. Si votre application doit réutiliser le focus audio, vous devez le demander à nouveau dans le rappel déclenché par le SDK lors du changement de focus.

Moment du déclenchement

Ce rappel se déclenche lorsque le périphérique de sortie audio change, par exemple lors du branchement ou du débranchement d'un casque, du passage à un autre appareil Bluetooth ou de la commutation entre l'écouteur et le haut-parleur.

Paramètres

Paramètre

Type

Description

focusChange

int

Type d'état de focus. La valeur correspond au type de focus défini dans android.media.AudioManager.

onAudioRouteChanged

Ce rappel est invoqué lorsque le routage audio change (Android et iOS uniquement).

public void onAudioRouteChanged(AliRtcEngine.AliRtcAudioRouteType routing);

Ce rappel vous informe des modifications du chemin de sortie audio de l'appareil, par exemple lorsqu'un casque est branché ou lorsque la sortie bascule vers le haut-parleur. Vous pouvez l'utiliser pour ajuster dynamiquement les politiques de sortie audio, telles que le changement de mode microphone ou le réglage du volume.

Paramètres

Paramètre

Type

Description

routing

AliRtcEngine.AliRtcAudioRouteType

Routage audio actuel.

onRemoteUserSubscribedDataChannel

Ce rappel est invoqué lorsqu'un utilisateur distant s'abonne au Data Channel.

public void onRemoteUserSubscribedDataChannel(String uid);

Ce rappel se déclenche lorsqu'un utilisateur distant s'abonne au Data Channel. Il vous indique qu'un utilisateur distant spécifique est prêt à recevoir des messages personnalisés. À ce stade, vous pouvez appeler en toute sécurité sendDataChannelMsg pour envoyer des données à cet utilisateur. Ce rappel constitue un mécanisme essentiel pour garantir une livraison fiable des messages, car il évite les pertes de paquets ou les échecs qui surviendraient si vous envoyiez des messages avant que l'utilisateur cible ne s'abonne au Data Channel.

Remarque

Ce rappel n'est déclenché que dans les scénarios d'interaction en temps réel avec l'IA.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

onDataChannelMessage

Ce rappel est invoqué lorsqu'un message personnalisé est reçu via le canal de données.

public void onDataChannelMessage(String uid, AliRtcEngine.AliRtcDataChannelMsg msg);

Le SDK ARTC prend en charge les messages personnalisés en temps réel en plus des données audio et vidéo. Ce rappel reçoit les messages personnalisés provenant du canal de données. Envoi et réception de messages personnalisés.

Remarque
  • Dans les scénarios interactifs, les diffuseurs peuvent envoyer et recevoir des messages, tandis que les spectateurs peuvent uniquement en recevoir.

  • Cette fonctionnalité est désactivée par défaut. Pour l'activer, appelez setParameter afin de définir {"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}} après avoir créé le moteur DPI.

  • La fonctionnalité de canal de données nécessite que l'expéditeur dispose d'un flux audio ou vidéo actif. Assurez-vous que votre scénario comporte des flux audio ou vidéo actifs.

Moment du déclenchement

Après qu'un expéditeur appelle sendDataChannelMsg pour envoyer un message personnalisé, ce rappel se déclenche côté destinataire si la fonctionnalité de canal de données est activée.

Paramètres

Paramètre

Type

Description

uid

String

ID utilisateur de l'expéditeur.

msg

AliRtcEngine.AliRtcDataChannelMsg

Message personnalisé reçu.

onAudioVolume

Volume de l'audio abonné, état vocal et UID.

public void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> speakers, int totalVolume);

Ce rappel est désactivé par défaut. Vous pouvez l'activer en appelant l'interface <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="d1cae8ec5dc2w">enableAudioVolumeIndication</a>. Une fois activé, dès que des utilisateurs diffusent dans le canal, le SDK déclenche ce rappel après votre entrée dans le canal, selon l'intervalle spécifié dans <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="e5e0d330423ax">enableAudioVolumeIndication</a>. Le rappel renvoie les informations de volume pour les intervenants locaux et distants.

Paramètres

Paramètre

Type

Description

speakers

List<AliRtcEngine.AliRtcAudioVolume>

Tableau contenant les informations de volume de chaque utilisateur, y compris l'UID, l'état vocal et le volume.

  • Une valeur UID égale à 0 indique un utilisateur local.

  • Une valeur UID égale à 1 indique le volume mixé de tous les utilisateurs distants.

  • Les autres valeurs indiquent les informations de volume de l'utilisateur distant correspondant à l'UID spécifié.

totalVolume

int

Volume après mixage audio. Valeurs valides : 0 à 255.

Dans un rappel destiné à un utilisateur local, totalVolume correspond au volume après mixage de l'audio de l'utilisateur local. Dans un rappel destiné à un utilisateur distant, totalVolume correspond au volume après mixage de l'audio de tous les intervenants.

onActiveSpeaker

Permet de s'abonner à l'intervenant actuel.

public void OnActiveSpeaker(String uid);

Après avoir appelé avec succès <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="699faf2d18k2x">enableAudioVolumeIndication</a>, le SDK surveille en continu les utilisateurs distants et identifie celui qui présente le volume audio le plus élevé. Le SDK comptabilise le nombre de fois où chaque utilisateur distant est identifié comme ayant le volume le plus fort. Sur la période en cours, l'utilisateur distant affichant le cumul le plus élevé est considéré comme le plus actif.

Conditions de déclenchement

Ce rappel se déclenche lorsque le canal contient au moins deux utilisateurs et qu'au moins un utilisateur distant est actif. Le SDK signale l'UID de l'utilisateur distant le plus actif.

  • Si l'utilisateur distant le plus actif ne change pas, le SDK ne déclenche plus le rappel onActiveSpeaker.

  • Si l'utilisateur distant le plus actif change, le SDK déclenche ce rappel et signale l'UID du nouvel utilisateur distant le plus actif.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur qui parle. Une valeur de 0 indique l'utilisateur local. Ce paramètre renvoie l'ID de l'utilisateur ayant le volume cumulé le plus élevé sur le segment temporel actuel, et non l'ID de l'utilisateur ayant le volume instantané le plus fort.

OnTestAudioVolume

Détection pré-appel et rappel d'informations sur le volume.

public void OnTestAudioVolume(int volume);

Ce rappel signale le volume du périphérique de capture audio lors d'un test pré-appel, ce qui permet de vérifier le bon fonctionnement du périphérique de capture audio local. Il se déclenche lorsque vous appelez startAudioCaptureTest.

Paramètres

Paramètre

Type

Description

Volume

int

Valeur du volume.

onCapturedAudioFrame

Rappel invoqué lorsque des données audio capturées brutes sont disponibles.

boolean onCapturedAudioFrame(AliRtcAudioFrame frame);

Ce rappel fournit les données audio brutes capturées par l'appareil actuel. Il est désactivé par défaut. Pour recevoir ces données audio :

  • Activez ce rappel en appelant enableAudioFrameObserver(true, audioSource, config). Vous devez spécifier le paramètre audioSource. Le paramètre config définit la fréquence d'échantillonnage, le nombre de canaux audio et le mode lecture/écriture des données audio.

  • Appelez registerAudioFrameObserver pour enregistrer un objet récepteur de données audio.

Remarque

Vous pouvez configurer la fréquence d'échantillonnage, le nombre de canaux audio et le mode lecture/écriture pour ce rappel.

Limitations

N'effectuez aucune opération chronophage dans cette fonction de rappel, car cela pourrait provoquer des anomalies audio.

Paramètres

Paramètre

Type

Remarque

frame

AliRtcAudioFrame

Données audio.

Description de la valeur de retour

  • true : Succès.

  • false : Échec.

onProcessCapturedAudioFrame

Rappel invoqué lorsque des données audio deviennent disponibles après le traitement 3A.

boolean onProcessCapturedAudioFrame(AliRtcAudioFrame frame);

Ce rappel récupère les données audio après le traitement 3A. Il est désactivé par défaut. Pour récupérer ces données audio :

  • Activez ce rappel en appelant enableAudioFrameObserver(true, audioSource, config) et en spécifiant le paramètre audioSource. Utilisez également le paramètre config pour définir la fréquence d'échantillonnage, le nombre de canaux audio et le mode lecture/écriture des données audio.

  • Appelez registerAudioFrameObserver pour enregistrer l'objet récepteur de données audio.

Remarque

Cette méthode permet de définir la fréquence d'échantillonnage, le nombre de canaux audio et le mode lecture/écriture.

Restrictions d'appel

N'effectuez aucune opération chronophage dans cette fonction de rappel, car cela pourrait provoquer des anomalies audio.

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal.

Paramètre

Type

Remarque

frame

AliRtcAudioFrame

Données audio.

Description de la valeur de retour

  • True indique un succès.

  • false : Échec.

onPublishAudioFrame

Rappel d'ingestion de flux audio

boolean onPublishAudioFrame(AliRtcAudioFrame frame);

Ce rappel obtient les données audio destinées à l'ingestion de flux. Il est désactivé par défaut. Pour obtenir ces données audio :

  • Activez ce rappel à l'aide du paramètre audioSource dans enableAudioFrameObserver(true, audioSource, config). De plus, le paramètre config permet de définir la fréquence d'échantillonnage, le nombre de canaux audio pour l'obtention des données audio, le mode lecture/écriture, etc.

  • Appelez registerAudioFrameObserver pour enregistrer un objet récepteur de données audio.

Remarque

Cette méthode permet de définir la fréquence d'échantillonnage et le nombre de canaux audio, mais le mode ne peut être défini qu'en lecture seule.

Limitations

N'effectuez aucune opération chronophage dans cette fonction de rappel, car cela pourrait entraîner des problèmes audio.

Paramètres

Paramètre

Type

Remarque

Frame

AliRtcAudioFrame

Données audio.

Description de la valeur de retour

  • true : L'opération a réussi.

  • false : Échec.

onPlaybackAudioFrame

Rappel invoqué lorsque des données audio sont prêtes pour la lecture.

boolean onPlaybackAudioFrame(AliRtcAudioFrame frame);

Ce rappel récupère les données audio destinées à la lecture. Il est désactivé par défaut. Pour récupérer ces données audio :

  • Pour activer ce rappel, définissez le paramètre audioSource lors de l'appel à enableAudioFrameObserver(true, audioSource, config). Utilisez également le paramètre config pour définir la fréquence d'échantillonnage, le nombre de canaux audio et le mode lecture/écriture des données audio obtenues.

  • Appelez registerAudioFrameObserver pour enregistrer un objet récepteur de données audio.

Remarque

Cette méthode prend en charge la configuration de la fréquence d'échantillonnage, du nombre de canaux audio et du mode lecture/écriture.

Limitations

Vous ne devez effectuer aucune opération chronophage dans cette fonction de rappel, sous peine de provoquer des anomalies audio.

Paramètres

Paramètre

Type

Remarque

frame

AliRtcAudioFrame

Données audio.

Description de la valeur de retour

  • true : L'opération a réussi.

  • False indique un échec.

onRemoteUserAudioFrame

Rappel invoqué lorsque des données audio d'un utilisateur distant sont disponibles pour le tirage de flux.

boolean onRemoteUserAudioFrame(String uid, AliRtcAudioFrame frame);

Ce rappel récupère les données audio distantes pour l'utilisateur spécifié lors du tirage de flux. Il est désactivé par défaut. Pour récupérer ces données audio :

  • Utilisez le paramètre audioSource dans enableAudioFrameObserver(true, audioSource, config) pour activer ce rappel. Utilisez également le paramètre config pour spécifier les propriétés des données audio à récupérer, telles que la fréquence d'échantillonnage, le nombre de canaux audio et le mode lecture/écriture.

  • Appelez registerAudioFrameObserver pour enregistrer un observateur de trames audio.

Remarque

Cette méthode ne permet pas de définir la fréquence d'échantillonnage ou le nombre de canaux audio, mais elle permet de configurer le mode lecture/écriture.

Limitations

Pour éviter les anomalies audio, n'effectuez aucune opération chronophage dans cette fonction de rappel.

Description des paramètres

Paramètre

Type

Remarque

uid

String

ID utilisateur.

Frame

AliRtcAudioFrame

Données audio.

Description de la valeur de retour

  • true : L'opération a réussi.

  • false : Indique un échec.

OnDestroyCompletion

Rappel invoqué par le SDK lorsque la destruction du moteur est terminée.

void OnDestroyCompletion();

Ce rappel indique que l'instance du moteur SDK a été détruite et que vous pouvez créer une nouvelle instance.

Moment du déclenchement

Ce rappel se déclenche après l'appel à destroy[2/2] et la destruction effective du moteur DPI.

onTextureCreate

Ce rappel est invoqué lors de la création du contexte OpenGL.

void onTextureCreate(long context);
Remarque

Ce rappel se déclenche lorsque le SDK crée le contexte OpenGL en interne.

Conditions de déclenchement

Ce rappel se déclenche lorsque le SDK crée le contexte OpenGL en interne. Vous pouvez utiliser ce rappel pour initialiser les ressources associées.

Paramètres

Paramètre

Type

Remarque

Context

long

Contexte OpenGL.

onTextureUpdate

Rappel invoqué lors de la mise à jour de la texture OpenGL.

int onTextureUpdate(int textureId, int width, int height, AliRtcVideoSample videoSample);

Conditions de déclenchement

Ce rappel se déclenche après le chargement de chaque trame vidéo dans la texture OpenGL. Lorsque vous enregistrez un observateur externe de données de texture OpenGL, vous pouvez traiter la texture dans ce rappel et renvoyer l'ID de la texture traitée.

Paramètres

Paramètre

Type

Remarque

textureId

int

Contexte OpenGL.

width

int

Largeur de la vidéo.

Height

int

Hauteur de la vidéo.

videoSample

AliRtcVideoSample

Données de trame vidéo.

Description de la valeur de retour

Retourne le nouvel ID de texture ou l'ID de texture d'origine. Si la valeur retournée est inférieure à zéro, l'ID de texture est considéré comme inchangé.

onTextureDestroy

void onTextureDestroy();

Condition de déclenchement

Ce callback se déclenche lorsque le SDK détruit en interne le contexte OpenGL. Utilisez ce callback pour libérer les ressources associées.

onLocalVideoSample

Callback invoqué lorsque des données vidéo capturées localement deviennent disponibles.

public boolean onLocalVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Ce callback récupère les trames vidéo brutes, telles que les données YUV, capturées par la caméra locale. Vous pouvez l'utiliser pour mettre en œuvre une logique de traitement vidéo personnalisée, comme l'ajout de filtres, de filigranes ou le transcodage. Pour envoyer les trames vidéo traitées au SDK en vue d'un encodage ou d'un rendu ultérieur, retournez true.

Moment du déclenchement

Après l'enregistrement d'un observateur de données vidéo via l'appel à <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="22a5a6bd53c77">registerVideoSampleObserver</a>, le SDK capture les trames vidéo correspondantes.

Paramètres

Paramètre

Type

Description

sourceType

AliRtcVideoSourceType

Type de source vidéo.

videoSample

AliRtcVideoSample

Données vidéo.

Description de la réponse

  • true : Les données sont réécrites dans le SDK. (Comportement par défaut. La réécriture est obligatoire si vous modifiez AliRtcVideoSample.data.)

  • false : Les données ne sont pas réécrites dans le SDK. Cette option s'applique lorsque vous devez manipuler directement AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU ou AliRtcVideoSample.dataFrameV.

onPreEncodeVideoSample

Callback pour les données vidéo locales avant encodage auxquelles vous êtes abonné.

public boolean onPreEncodeVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoRawData);

Ce callback récupère les données vidéo locales brutes, par exemple au format YUV, avant que le SDK n'encode les trames vidéo. Il permet ainsi de mettre en œuvre une logique de traitement personnalisée, telle que l'ajout de filigranes, l'ajustement des couleurs ou le transcodage, puis de décider s'il faut retourner les données traitées au SDK pour l'encodage.

Paramètres

Paramètre

Type

Description

sourceType

AliRtcVideoSourceType

Type de flux vidéo

videoRawData

AliRtcVideoSample

Données vidéo brutes

Description de la valeur de retour

  • true : Les données doivent être réécrites dans le SDK lorsque vous opérez sur AliRtcVideoSample.data. Il s'agit du paramètre par défaut.

  • false : Les données ne sont pas réécrites dans le SDK. (Utilisez cette option si vous souhaitez manipuler directement AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU et AliRtcVideoSample.dataFrameV.)

onRemoteVideoSample

Callback pour les données vidéo distantes abonnées.

public boolean onRemoteVideoSample(String callId,AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Ce callback reçoit les données vidéo distantes abonnées. Il obtient les données de trames vidéo brutes (par exemple au format YUV) provenant d'utilisateurs distants. Les développeurs peuvent utiliser ce callback pour implémenter une logique de traitement personnalisée (comme l'ajout de filtres, de filigranes ou le transcodage) et déterminer s'il faut retourner les données traitées au SDK pour un rendu ultérieur.

Paramètres

Paramètre

Type

Description

callId

String

ID utilisateur

sourceType

AliRtcVideoSourceType

Type de flux vidéo

videoSample

AliRtcVideoSample

Données vidéo brutes

Description de la valeur de retour

  • true : Les données sont réécrites dans le SDK. Ce paramètre par défaut est requis lorsque vous opérez sur AliRtcVideoSample.data.

  • Si false, les données n'ont pas besoin d'être réécrites dans le SDK. (Cette option s'applique lors d'une manipulation directe de AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU ou AliRtcVideoSample.dataFrameV.)

onGetVideoFormatPreference

Format de sortie vidéo

public AliRtcVideoFormat onGetVideoFormatPreference();

Description de la réponse

Le format de sortie vidéo souhaité.

onGetObservedFramePosition

Contenu de la sortie des données vidéo

public int onGetObservedFramePosition();

Ce callback obtient le contenu ou le type des données vidéo en sortie. Les développeurs peuvent l'utiliser pour connaître l'étape de traitement des trames vidéo en sortie du SDK, par exemple après la capture, avant l'encodage ou après la réception du flux.

Description de la valeur de retour

Le contenu de sortie vidéo attendu est une valeur d'énumération de AliRtcVideoObserPosition, indiquant les données capturées, les données reçues par flux et les données avant encodage.

onPublishLiveStreamStateChanged

Ce callback est invoqué lorsque l'état du flux en direct relayé change.

public void onPublishLiveStreamStateChanged(String streamUrl, AliRtcLiveTranscodingState state, AliEngineLiveTranscodingErrorCode errorCode);

Paramètres

Paramètre

Type

Description

streamUrl

String

L'URL d'ingestion.

state

AliRtcLiveTranscodingState

L'état du streaming en direct de contournement.

errorCode

AliEngineLiveTranscodingErrorCode

Le code d'erreur.

onPublishTaskStateChanged

Invoqué lorsque l'état de la tâche relayée change.

public void onPublishTaskStateChanged(String streamUrl, AliRtcTrascodingPublishTaskStatus state);

Paramètres

Paramètre

Type

Description

streamUrl

String

L'URL d'ingestion.

state

AliRtcTrascodingPublishTaskStatus

L'état de la tâche de streaming en direct relayée.

onNetworkQualityChanged

Callback invoqué lorsque la qualité du réseau change.

public void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);

Paramètres

Paramètre

Type

Description

uid

String

L'ID utilisateur. Une valeur vide indique l'état du réseau montant et descendant de l'utilisateur local.

upQuality

AliRtcNetworkQuality

L'état du réseau montant.

downQuality

AliRtcNetworkQuality

Santé du réseau descendant.

onNetworkQualityProbeTest

Callback invoqué environ 3 secondes après le début du test de qualité du réseau.

public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}

Paramètres

Paramètre

Type

Description

quality

AliRtcNetworkQuality

Qualité du réseau.

onNetworkQualityProbeTestResult

Callback signalant les résultats du test de qualité du réseau, invoqué environ 30 secondes après le début du test.

public void onNetworkQualityProbeTestResult(int code, AliRtcEngine.AlirtcNetworkQualityProbeResult result){}

Paramètres

Paramètre

Type

Description

code

int

La valeur de retour est 0 si la sonde réussit et -1 si elle échoue en raison de mauvaises conditions réseau ayant provoqué la perte de la connexion.

result

AlirtcNetworkQualityProbeResult

Qualité du réseau.

onSnapshotComplete

Callback invoqué lorsqu'une opération de capture d'écran se termine.

public void onSnapshotComplete(String userId, AliRtcVideoTrack trackType, Bitmap bitmap, boolean success)

Ce callback fournit le résultat et les détails de la capture d'écran.

Paramètres

Paramètre

Type

Description

userId

String

ID utilisateur.

trackType

AliRtcVideoTrack

Le type de flux vidéo pour les captures d'écran.

bitmap

Bitmap

Données de la capture d'écran.

Success

boolean

Indique si la capture d'écran a réussi.

onScreenSharePublishStateChanged

Callback signalant les modifications de l'ingestion du flux de partage d'écran.

public void onScreenSharePublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)

Ce callback notifie les changements d'état de l'ingestion du flux de partage d'écran et se déclenche lorsque l'état change.

Description des paramètres

Paramètre

Type

Description

oldState

AliRtcEngine.AliRtcPublishState

L'état précédent avant le changement d'état de l'ingestion du flux.

newState

AliRtcEngine.AliRtcPublishState

Le nouvel état d'ingestion du flux après le changement.

elapseSinceLastState

int

Intervalle de temps entre les changements d'état (ms).

channel

String

Le nom du canal actuel.

onScreenShareSubscribeStateChanged

Callback invoqué lorsque l'état d'abonnement à un flux de partage d'écran change.

public void onScreenShareSubscribeStateChanged(String uid,
                                                    AliRtcEngine.AliRtcSubscribeState oldState,
                                                    AliRtcEngine.AliRtcSubscribeState newState,
                                                    int elapseSinceLastState, String channel);

Ce callback se déclenche lorsque l'état d'abonnement de l'utilisateur actuel au flux de partage d'écran d'un utilisateur distant change.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

oldState

AliRtcEngine.AliRtcSubscribeState

État d'abonnement précédent.

newState

AliRtcEngine.AliRtcSubscribeState

L'état d'abonnement actuel.

elapseSinceLastState

int

Intervalle de changement d'état (millisecondes).

channel

String

Canal actuel.

onOccurError

Notifications d'erreur.

public void onOccurError(int error, String message);

Le callback de notification d'erreur globale du SDK ARTC informe la couche applicative lorsqu'une erreur critique survient dans le moteur interne du SDK. Les développeurs peuvent utiliser ce callback pour obtenir le code d'erreur et le message d'erreur afin d'assurer la gestion des exceptions, la journalisation ou la notification de l'utilisateur.

Description de la réponse

Paramètre

Type

Description

Error

int

Type d'erreur. Défini dans la liste des codes d'erreur.

message

String

Message d'erreur.

OnLocalAudioStateChanged

Ce callback est invoqué lorsque l'état du périphérique audio local change.

public void OnLocalAudioStateChanged(int state);

Le callback se déclenche lorsque l'état du périphérique de capture audio local change, par exemple lorsque vous appelez startAudioCapture pour lancer la capture audio ou stopAudioCapture pour l'arrêter.

Paramètres

Paramètre

Type

Description

State

int

  • 0 : Non créé

  • 1 : Collecte en cours

  • 2 : Arrêt en cours

  • 3 : Collecte arrêtée

setParameter

Configurer des paramètres personnalisés

public abstract int setParameter(String param);

Paramètres

Paramètre

Type

Description

param

String

Le paramètre personnalisé.

getParameter

Récupère les paramètres personnalisés.

public abstract String getParameter(String param);

Paramètres

Paramètre

Type

Description

param

String

Paramètre personnalisé.

registerAudioVolumeObserver

Enregistre un objet utilisé pour exporter les données de volume.

public abstract void registerAudioVolumeObserver(AliRtcAudioVolumeObserver observer);

Cette méthode enregistre un objet pour l'exportation des données de volume. Pour annuler l'enregistrement, appelez unRegisterAudioVolumeObserver.

Quand appeler

  • Pour obtenir des informations de volume, appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="85a734d2596vf">enableAudioVolumeIndication</a> afin de définir la fréquence de rappel et le coefficient de lissage, puis appelez cette API pour enregistrer l'objet qui recevra les données correspondantes.

  • Lorsque vous appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#ae07dc986abf3" id="29e92857a5iv8">startAudioCaptureTest</a> avant de rejoindre une réunion pour la détection préalable des périphériques audio, vous pouvez appeler cette API et implémenter le callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e375c31bdez6j" id="e5cb797b7cg5p">OnTestAudioVolume</a>.

Paramètres

Paramètre

Type

Description

observer

AliRtcAudioVolumeObserver

Objet acceptant les données de volume audio.

unRegisterAudioVolumeObserver

Désenregistre l'objet qui exporte les données de volume.

public abstract void unRegisterAudioVolumeObserver();

Cette méthode correspond à registerAudioVolumeObserver et supprime l'objet enregistré qui exporte les données de volume.

Quand appeler

Appelez cette méthode pour désenregistrer un observateur de volume audio si vous en avez précédemment enregistré un à l'aide de registerAudioVolumeObserver.

enableAudioFrameObserver

Permet de définir les paramètres de rappel audio.

public abstract int  enableAudioFrameObserver(boolean enable, AliRtcAudioSource audioSource, AliRtcAudioFrameObserverConfig config);

Cette méthode active ou désactive les rappels de données audio pour des types spécifiés, permettant aux développeurs d'obtenir diverses données audio brutes et encodées. Elle est désactivée par défaut. Pour l'activer, appelez cette méthode.

Remarque

Lors de l'appel à cette API pour activer le rappel de données audio pour le AliRtcAudioSource correspondant, vous devez utiliser la méthode registerAudioFrameObserver pour transmettre l'objet devant recevoir les données audio.

Quand appeler

Appelez cette méthode pour activer la récupération des données audio lorsque vous en avez besoin.

Paramètres

Paramètres

Type

Description

enable

boolean

Indique s'il faut autoriser les rappels de données audio.

audioSource

AliRtcAudioSource

Les types de source de données de rappel incluent après capture (0), après 3A (1), ingestion de flux (2), lecture (3), après mélange d'ingestion de flux et de lecture (4), et données audio reçues (5).

Remarque
  • Les données audio d'ingestion de flux et les données audio après mélange d'ingestion de flux et de lecture prennent uniquement en charge le mode lecture seule (ReadOnly).

  • Les données audio reçues ne permettent pas la modification des paramètres audio tels que le taux d'échantillonnage et le nombre de canaux.

config

AliRtcAudioFrameObserverConfig

Paramètres de rappel audio, tels que le taux d'échantillonnage, le nombre de canaux sonores et le mode de lecture-écriture du rappel (lecture seule, écriture seule ou lecture-écriture). Si vous définissez ces paramètres sur null, les valeurs par défaut sont 48 000 Hz, 1 canal et lecture seule.

Description de la valeur de retour

  • 0 : L'appel de la méthode a réussi.

  • <0 : L'appel de la méthode a échoué.

registerAudioFrameObserver

Permet d'enregistrer un rappel de données audio.

public abstract void registerAudioFrameObserver(AliRtcAudioFrameObserver observer);

Cette méthode enregistre un objet pour recevoir les données de rappel audio.

Moment de l'appel

Pour recevoir des données audio via les callbacks onCapturedAudioFrame, onProcessCapturedAudioFrame, onPublishAudioFrame, onPlaybackAudioFrame et onRemoteUserAudioFrame, vous devez appeler cette méthode pour fournir un objet récepteur de données audio. Pour désenregistrer le récepteur, appelez à nouveau cette méthode en passant null.

Limites d'appel

L'observateur ne peut pas récupérer de données tant que vous n'avez pas appelé enableAudioFrameObserver pour activer le rappel pour un AliRtcAudioSource spécifique.

Description des paramètres

Paramètre

Type

Description

observer

AliRtcAudioFrameObserver

L'instance de l'objet récepteur de rappel de données audio. Si null est passé, cela annule l'enregistrement.

registerVideoSampleObserver

Enregistre un objet pour exporter les données vidéo.

public abstract void registerVideoSampleObserver(AliVideoObserver observer);

Cette méthode enregistre un objet pour l'exportation des données vidéo. Vous pouvez désenregistrer l'objet en appelant la méthode unRegisterVideoSampleObserver.

Quand appeler

Pour obtenir des données vidéo brutes (par exemple au format YUV ou RGBA), appelez cette méthode afin d'enregistrer un observateur de données vidéo et d'obtenir des données vidéo à différentes étapes. AliRtcVideoObserver est la classe d'observateur de données vidéo.

Callbacks associés

Après avoir enregistré avec succès un observateur de sortie de données vidéo, le SDK déclenche les callbacks que vous avez implémentés dans l'interface AliRtcVideoObserver pour chaque trame vidéo capturée. Implémentez les callbacks correspondants selon vos besoins :

Paramètres

Paramètre

Type

Description

observer

AliRtcVideoObserver

L'objet de sortie pour les données vidéo.

Description de la valeur de retour

Le callback AliVideoObserver retourne les données de sortie.

unRegisterVideoSampleObserver

Désenregistre un objet utilisé pour exporter les données vidéo.

public abstract void unRegisterVideoSampleObserver();

Cette interface correspond à l'interface <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="dcf635790da7v">registerVideoSampleObserver</a> et sert à désenregistrer l'objet de sortie des données vidéo.

registerLocalVideoTextureObserver

Enregistre un objet qui exporte les données de texture OpenGL de la piste de caméra locale.

public abstract void registerLocalVideoTextureObserver(AliTextureObserver observer);

Pour récupérer des données vidéo brutes, appelez l'API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="4f1f5a423ch4j">registerVideoSampleObserver</a> afin d'enregistrer le rappel correspondant. Pour récupérer des données de texture internes, appelez cette API. Pour désenregistrer l'observateur de texture, appelez l'API unRegisterLocalVideoTextureObserver.

Remarque

Cette méthode s'applique uniquement à la vidéo provenant d'un flux de caméra locale.

Callbacks associés

Une fois que vous avez enregistré avec succès un observateur de données de texture OpenGL pour le flux vidéo de la caméra locale, le SDK déclenche les callbacks que vous avez implémentés dans l'interface AliRtcTextureObserver pour chaque trame vidéo capturée. Implémentez les callbacks correspondants selon vos besoins :

  • onTextureCreate : Ce callback se déclenche lorsque le SDK crée son contexte OpenGL.

  • onTextureUpdate : Ce callback se déclenche après le chargement des données vidéo de chaque trame dans une texture OpenGL. Si vous enregistrez un observateur de données de texture OpenGL externe, vous pouvez traiter la texture dans ce callback et retourner l'ID de texture traité. La valeur de retour de ce callback doit être un ID de texture valide. Si vous n'effectuez aucun traitement, vous devez retourner le paramètre textureId d'origine.

  • onTextureDestroy : Ce callback se déclenche lorsque le contexte OpenGL interne du SDK est détruit.

Paramètres

Paramètre

Type

Description

observer

AliRtcTextureObserver

Observateur des données de texture OpenGL.

Description de la valeur de retour

Les données de sortie sont renvoyées via le callback AliVideoObserver.

unRegisterLocalVideoTextureObserver

Désenregistre l'observateur des données de texture OpenGL associé à une piste caméra locale.

public abstract void unRegisterLocalVideoTextureObserver();

Cette méthode annule l'enregistrement de l'observateur précédemment inscrit via registerLocalVideoTextureObserver.

snapshotVideo

Fonctionnalité de capture vidéo.

public abstract int snapshotVideo(String userId, AliRtcVideoTrack trackType);

Appelez cette méthode pour réaliser une capture d'écran du flux vidéo d'un utilisateur spécifique.

Limites

L'exécution de cette méthode est asynchrone. Une valeur de retour égale à 0 confirme que l'appel a réussi, mais la capture d'écran n'est pas encore effective.

Callbacks associés

Suite à un appel réussi, écoutez le callback onSnapshotComplete afin d'obtenir le statut de réussite ainsi que les détails de la capture.

Paramètres

Paramètre

Type

Description

user ID

String

Identifiant de l'utilisateur. Si userId est null ou une chaîne vide (""), la capture concerne l'utilisateur local.

trackType

AliRtcVideoTrack

Type de flux vidéo à capturer. Les valeurs suivantes sont prises en charge :

  • AliRtcVideoTrackCamera : flux caméra

  • AliRtcVideoTrackScreen : flux de partage d'écran

Description de la valeur de retour

  • 0 : signale uniquement que l'appel de la méthode a réussi. Le résultat effectif de la capture est fourni par le callback onSnapshotComplete.

  • Valeur non nulle : échec de l'appel avec renvoi d'un code d'erreur.

setLogDirPath

Permet de définir le chemin de sauvegarde du fichier journal du SDK.

public static int setLogDirPath(String logDirPath);

Paramètres

Paramètre

Type

Description

logDirPath

String

Chemin absolu pour le stockage des fichiers journaux. Par défaut, il s'agit du répertoire de l'application.

Description de la valeur de retour

Une valeur égale à 0 indique que l'appel a réussi. Toute autre valeur signale un échec. Remarque : pour éviter toute perte de journaux, appelez cette méthode avant toute autre méthode du SDK. L'application doit garantir que le chemin spécifié existe et dispose des droits d'écriture nécessaires.

setLogLevel

Définit le niveau de journalisation.

public static void setLogLevel(AliRtcLogLevel logLevel);

Paramètres

Paramètre

Type

Description

logLevel

AliRtcLogLevel

Niveau de journalisation.

setDeviceOrientationMode

Permet de configurer l'orientation de l'appareil.

public abstract void setDeviceOrientationMode(AliRtcOrientationMode mode);

Cette méthode définit le mode d'orientation de l'appareil, ce qui influence l'affichage vidéo.

Limites

Cette méthode est disponible uniquement sur Android et iOS.

Paramètres

Paramètre

Type

Description

mode

AliRtcOrientationMode

Orientation de l'appareil.

Description de la valeur de retour

Aucune.

requestAudioFocus

Définit le volume de lecture local de l'effet sonore.

public abstract int requestAudioFocus();

Moment de l'appel

Le SDK sollicite automatiquement le focus audio lors de son démarrage ; une demande manuelle est donc généralement inutile. Toutefois, si vous avez précédemment appelé abandonAudioFocus, utilisez cette API pour récupérer le focus audio.

Limites

Android uniquement.

Paramètres

Aucun.

Description de la valeur de retour

  • 0 : indique un échec.

  • 1 : indique un succès.

abandonAudioFocus

Libère le focus audio.

public abstract int abandonAudioFocus();

Moment de l'appel

Le SDK appelle automatiquement cette interface pour libérer le focus audio lors de sa destruction. Cependant, certains scénarios peuvent nécessiter une libération explicite du focus audio via cet appel. Une fois le focus libéré, certains appareils peuvent ne produire aucun son ou un volume réduit. Pour rétablir le focus audio, appelez requestAudioFocus.

Restrictions d'appel

Android uniquement.

Description de la valeur de retour

  • 0 : échec.

  • 1 : succès.

getNetworkTime

Obtient l'heure réseau actuelle.

public abstract long getNetworkTime();

Cette méthode renvoie l'heure réseau actuelle en millisecondes, correspondant à l'horodatage courant ajusté par calibration NTP et décalage horaire.

Moment de l'appel

Pour synchroniser le comportement de plusieurs appareils, il est nécessaire d'obtenir une heure réseau synchronisée servant de référence pour calibrer l'heure locale.

Description de la valeur de retour

Heure actuelle en millisecondes selon le protocole NTP (Network Time Protocol).

sendDataChannelMsg

Permet d'envoyer un message personnalisé via le canal de données.

public abstract int sendDataChannelMsg(AliRtcDataChannelMsg Msg);

Le SDK ARTC prend en charge l'envoi et la réception de messages personnalisés en temps réel parallèlement aux données audio et vidéo, tels que des instructions de contrôle, des données de synchronisation d'état ou d'autres messages métier. Envoi et réception de messages personnalisés.

Remarque
  • Le canal de messages personnalisés est désactivé par défaut. Pour utiliser cette fonctionnalité, appelez la méthode setParameter afin d'activer le canal en définissant {"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}}. L'activation peut s'effectuer avant ou après avoir rejoint un canal.

  • Les messages peuvent contenir n'importe quel type de données, y compris du texte.

  • La fonctionnalité DataChannel d'ARTC exige que la partie émettrice diffuse des flux audio ou vidéo. Assurez-vous que votre scénario inclut des flux audio ou vidéo actifs.

Callbacks associés

  • Une fois le canal de messages personnalisés ouvert avec succès par l'expéditeur, cette API permet d'envoyer des messages personnalisés. Le destinataire reçoit ces messages en écoutant le callback onDataChannelMessage.

Limites

  • Les diffuseurs peuvent envoyer et recevoir des messages, tandis que les spectateurs peuvent uniquement les recevoir.

  • Appelez setParameter pour activer le canal de messages personnalisés.

  • L'envoi de données est soumis aux limites suivantes :

    • Débit binaire maximal : 30 Ko/s.

    • Taux de paquets maximal : 60 paquets par seconde, avec une taille maximale de paquet de 1 Ko.

Paramètres

Paramètre

Type

Description

Msg

AliRtcDataChannelMsg

Contenu du message.

Description de la valeur de retour

  • 0 : l'appel a réussi.

  • Valeur non nulle : l'appel a échoué et renvoie un code d'erreur.

startScreenShare

Important

Cette API sera bientôt obsolète. Nous vous recommandons d'utiliser la nouvelle API startScreenShare.

Permet de démarrer le partage de l'écran et du flux audio.

public abstract int startScreenShare(Intent intent);

Paramètres

Nom

Description

intent

Il est possible de fournir une Activity externe pour initier le partage d'écran. Toutefois, il est recommandé de passer null.

Valeur de retour

  • Une valeur égale à 0 indique un succès.

  • Toute autre valeur indique un échec.

startScreenShare

Important

Cette API est obsolète. Nous vous recommandons d'utiliser la nouvelle API startScreenShare.

Cette méthode lance le partage d'écran.

public abstract int startScreenShare();

Valeur de retour

  • 0 : succès.

  • Autres valeurs : échec.

startScreenShare

Permet de démarrer le partage du flux vidéo de l'écran.

public abstract int startScreenShare(Intent intent, AliRtcScreenShareMode screenShareMode);

Paramètres

Nom

Description

intent

Activity créée en externe pour lancer le partage d'écran. Si aucune Activity externe n'est créée, passez null. Il est recommandé de passer null.

screenShareMode

Mode de partage d'écran. Défini dans AliRtcScreenShareMode.

Valeur de retour

  • 0 : succès.

  • Autres valeurs : échec.

stopScreenShare

Arrête le flux de partage d'écran, y compris le flux audio.

public abstract int stopScreenShare();

Valeur de retour

  • Une valeur égale à 0 indique un succès.

  • Toute autre valeur indique un échec.

setAudioShareVolume

Permet de régler le volume du flux audio pour la diffusion.

public abstract int setAudioShareVolume(int volume);

Paramètres

Nom

Description

volume

Volume souhaité.

Valeurs valides : de 0 à 100. Valeur par défaut : 50.

Valeur de retour

  • 0 : succès.

  • Autres valeurs : échec.

isScreenSharePublished

Vérifie si la diffusion d'un flux de partage d'écran est en cours.

public abstract boolean isScreenSharePublished();

Valeur de retour

  • true : un flux de partage d'écran est actuellement diffusé.

  • false : aucun flux de partage d'écran n'est diffusé.

setScreenShareEncoderConfiguration

Définit les propriétés d'encodage vidéo pour les flux de partage d'écran.

public abstract void setScreenShareEncoderConfiguration(AliRtcScreenShareEncoderConfiguration config);

Cette méthode configure les paramètres vidéo des flux de partage d'écran, notamment la résolution, la fréquence d'images, le débit binaire et l'orientation vidéo.

Remarque

Tous les paramètres possèdent des plages de valeurs limites. Si un paramètre est défini hors de sa plage valide, le SDK l'ajuste automatiquement. Par conséquent, la configuration effective peut différer de vos réglages.

Moment de l'appel

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal. Si vous ne devez définir les propriétés d'encodage vidéo du partage d'écran qu'une seule fois par session, il est préférable de le faire avant de rejoindre le canal.

Paramètres

Paramètre

Type

Description

config

AliRtcScreenShareEncoderConfiguration

Propriétés d'encodage prédéfinies pour le partage d'écran, telles que la résolution, la fréquence d'images, le débit binaire et l'orientation vidéo.

setGlobalEnvironment

Définit l'environnement global.

public int setGlobalEnvironment(GlobalEnv env);

Cette méthode spécifie l'environnement d'exécution global du SDK, ce qui affecte principalement la destination de transmission des rapports de journaux et des données de télémétrie :

  • Si l'environnement Chine continentale est sélectionné, les journaux et les données de télémétrie sont envoyés aux centres de données situés en Chine continentale.

  • Si l'environnement international est sélectionné, les données correspondantes sont routées vers des centres de données hors de Chine (par exemple Singapour).

Moment de l'appel

Il est recommandé d'appeler cette méthode tôt lors de l'initialisation de l'application, par exemple dans la méthode onCreate() de l'Application.

Restrictions d'appel

  • Il s'agit d'un paramètre global. Ne l'appelez qu'une seule fois.

  • Des appels multiples écrasent la configuration d'environnement précédente. Cela peut affecter les connexions établies ou les états de session. Évitez de modifier ce paramètre dynamiquement pendant l'exécution.

Exemple d'appel

AlivcEnv.GlobalEnv env = ENV_DEFAULT; // If you need an environment outside China, use ENV_SEA.
AlivcBase.getEnvironmentManager().setGlobalEnvironment(env);

Paramètres

Paramètre

Type

Description

env

GlobalEnv

Spécifie l'environnement global. Les valeurs d'énumération prises en charge sont les suivantes :• ENV_DEFAULT : environnement Chine continentale.• ENV_SEA : environnement hors de Chine, par exemple Singapour.

Valeur de retour Renvoie un code de résultat de type int :

  • 0 : indique un succès.

  • Toute valeur autre que 0 : indique un échec.