Tous les produits
Search
Centre de documentation

ApsaraVideo Live:Interface AliRtcEngine

Dernière mise à jour :Oct 11, 2026

Cette rubrique décrit les interfaces du SDK ApsaraVideo Real-time Communication pour Android.

Instructions

Contenu

Interfaces de base

API

Description

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

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

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

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

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

Détruit l'objet AliRtcEngine.

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

Détruit l'objet AliRtcEngine.

setH5CompatibleMode

Définit le mode de compatibilité H5.

getH5CompatibleMode

Vérifie si le mode actuel est compatible avec H5.

setRtcEngineEventListener

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

setRtcEngineNotify

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

getSdkVersion

Interroge la version actuelle du SDK.

Interfaces de canal

API

Description

setChannelProfile

Définit le mode de canal.

setAudioProfile

Définit le mode d'encodage audio et le mode de scénario.

isAudioOnly

Vérifie si le mode actuel est audio uniquement.

setAudioOnlyMode

Définit le mode audio uniquement ou audio et vidéo.

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

Rejoint un canal.

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

Rejoint un canal.

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

Rejoint un canal.

leaveChannel

Quitte un canal.

isInCall

Vérifie si l'utilisateur se trouve dans un canal.

setClientRole

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

getCurrentClientRole

Obtient le rôle de l'utilisateur.

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

Actualise les informations d'authentification.

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

Actualise les informations d'authentification.

Interfaces 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 le flux audio est en cours de publication.

setDefaultSubscribeAllRemoteAudioStreams

Définit s'il faut s'abonner aux flux audio distants par défaut. Par défaut, tous les flux audio distants sont abonnés. Appelez cette méthode avant de rejoindre un canal.

subscribeRemoteAudioStream

Arrête ou reprend l'extraction du flux audio d'un utilisateur distant spécifique.

subscribeAllRemoteAudioStreams

Arrête ou reprend l'abonnement à tous les flux audio distants.

publishLocalVideoStream

Indique s'il faut publier le flux vidéo local. Le SDK publie le flux par défaut.

isLocalVideoStreamPublished

Vérifie si le flux vidéo est en cours de publication.

setDefaultSubscribeAllRemoteVideoStreams

Définit s'il faut s'abonner aux flux vidéo distants par défaut. Par défaut, tous les flux vidéo distants sont abonnés. Appelez cette méthode avant de rejoindre un canal.

subscribeRemoteVideoStream

Arrête ou reprend l'abonnement à un flux vidéo distant spécifique.

subscribeAllRemoteVideoStreams

Arrête ou reprend l'abonnement à tous les flux vidéo distants.

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

Arrête ou reprend le flux multimédia d'un utilisateur distant spécifique. Utilisez cette méthode lorsque l'audio et la vidéo existent et doivent être contrôlés.

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

Arrête ou reprend le flux multimédia d'un utilisateur distant spécifique. Utilisez cette méthode lorsque l'audio et la vidéo existent et doivent être contrôlés.

subscribeRemoteDestChannelStream

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

subscribeRemoteDestChannelAllStream

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

setRemoteAudioVolume

Ajuste le volume de lecture d'un flux extrait.

Interfaces de gestion des périphériques audio

API

Description

muteLocalMic

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

muteRemoteAudioPlaying

Définit s'il faut arrêter la lecture des flux audio distants.

muteAllRemoteAudioPlaying

Arrête ou reprend toute la lecture audio distante.

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

Active la capture audio.

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

Active la capture audio.

stopAudioCapture

Désactive la capture audio.

setDefaultAudioRoutetoSpeakerphone

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

enableSpeakerphone

Définit la sortie audio sur l'écouteur ou le haut-parleur.

isSpeakerOn

Indique si la sortie audio actuelle est l'écouteur ou le haut-parleur.

enableAudioVolumeIndication

Active la fonction de détection du volume.

enableEarBack

Active la surveillance intra-auriculaire.

setEarBackVolume

Définit le volume de la surveillance intra-auriculaire.

startAudioPlayer

Active le périphérique de lecture audio.

stopAudioPlayer

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

setPlayoutVolume

Définit le volume de lecture local.

setRecordingVolume

Définit le volume d'enregistrement.

playAudioFileTest

Lit un fichier 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

Désactive la détection de la capture audio.

Modification de la voix et réverbération audio

API

Description

setAudioEffectVoiceChangerMode

Définit le mode d'effet de modification de la voix.

setAudioEffectPitchValue

Définit le paramètre de transposition de hauteur.

setAudioEffectReverbMode

Définit le mode d'effet de réverbération.

setAudioEffectReverbParamType

Définit le type d'effet de réverbération et les paramètres spécifiques.

setAudioEffectBeautifyMode

Définit le mode d'effet prédéfini d'embellissement vocal.

setAudioEffectEqualizationParam

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

Entrée audio personnalisée

API

Description

addExternalAudioStream

Ajoute un flux audio externe.

pushExternalAudioStreamRawData

Insère les données du flux audio externe.

setExternalAudioStreamPublishVolume

Définit le volume d'ingestion.

getExternalAudioStreamPublishVolume

Obtient le volume d'ingestion.

setExternalAudioStreamPlayoutVolume

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

getExternalAudioStreamPlayoutVolume

Obtient le volume de lecture du flux audio externe.

removeExternalAudioStream

Supprime un flux audio externe.

Accompagnement musical

API

Description

getAudioFileInfo

Obtient les informations du fichier audio.

startAudioAccompany

Démarre le mixage d'accompagnement.

stopAudioAccompany

Arrête le mixage d'accompagnement.

setAudioAccompanyVolume

Définit le volume d'accompagnement, y compris le volume de lecture local et le volume d'ingestion.

setAudioAccompanyPublishVolume

Définit le volume d'ingestion de l'accompagnement.

getAudioAccompanyPublishVolume

Obtient le volume d'ingestion de l'accompagnement.

setAudioAccompanyPlayoutVolume

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

getAudioAccompanyPlayoutVolume

Obtient le volume de lecture local de l'accompagnement.

pauseAudioAccompany

Met en pause le mixage d'accompagnement.

resumeAudioAccompany

Reprend le mixage d'accompagnement.

getAudioAccompanyDuration

Obtient la durée du fichier d'accompagnement en millisecondes.

getAudioAccompanyCurrentPosition

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

setAudioAccompanyPosition

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

Fichiers d'effets sonores

API

Description

preloadAudioEffect

Précharge un fichier d'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 un effet sonore.

pauseAllAudioEffects

Met en pause tous les effets sonores.

resumeAudioEffect

Reprend la lecture d'un fichier d'effet sonore spécifique.

resumeAllAudioEffects

Reprend la lecture de tous les fichiers d'effets sonores.

setAudioEffectPublishVolume

<!--@p {"id":"74fbf046550m8"}--br>Définit le volume de mixage d'ingestion pour l'effet sonore.

getAudioEffectPublishVolume

Récupère le volume de mixage d'ingestion pour l'effet sonore.

setAllAudioEffectsPublishVolume

Définit le volume de mixage d'ingestion pour tous les effets sonores.

setAudioEffectPlayoutVolume

Définit le volume de lecture local pour un effet sonore.

getAudioEffectPlayoutVolume

Récupère le volume de lecture local pour un effet sonore.

setAllAudioEffectsPlayoutVolume

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

Enregistrement des fichiers audio et vidéo

API

Description

startRecord

Enregistre des fichiers audio et vidéo (AAC, WAV, MP4).

stopRecord

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

Interfaces 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 de dessin pour l'aperçu local.

setRemoteViewConfig

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

setCameraCapturerConfiguration

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

enableLocalVideo

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

muteLocalCamera

Définit s'il faut arrêter la publication du 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

Récupère la direction actuelle de la caméra.

startPreview

Démarre l'aperçu local.

stopPreview

Arrête l'aperçu local.

setCameraZoom

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

GetCameraMaxZoomFactor

Récupère le facteur de zoom maximal pris en charge par la caméra.

GetCurrentZoom

Récupère le paramètre actuel du facteur de zoom 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

Vérifie si l'appareil actuel prend en charge la mise au point manuelle.

setCameraFocusPoint

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

isCameraExposurePointSupported

Vérifie si la définition du point d'exposition de la caméra est prise en charge.

setCameraExposurePoint

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

isCameraAutoFocusFaceModeSupported

Vérifie si la mise au point automatique sur le visage est prise en charge par la caméra.

setCameraAutoFocusFaceModeEnabled

Définit la mise au point automatique sur le visage de la caméra.

setVideoMirrorMode

Définit la capacité de miroir vidéo pour l'aperçu et l'ingestion.

setCapturePipelineScaleMode

Définit le mode de mise à l'échelle du pipeline de capture vidéo.

Configurer les rappels de données vidéo

API

Description

registerVideoSampleObserver

Inscrit un objet de sortie de données vidéo.

unRegisterVideoSampleObserver

Désinscrit un objet de sortie de données vidéo.

registerLocalVideoTextureObserver

Inscrit un observateur de données de texture OpenGL pour le flux vidéo de la caméra locale.

unRegisterLocalVideoTextureObserver

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

snapshotVideo

Fonctionnalité de capture d'image vidéo.

Configurer les rappels de données audio

API

Description

registerAudioVolumeObserver

Inscrit un objet de sortie de données de volume.

unRegisterAudioVolumeObserver

Désinscrit un objet de sortie de données de volume.

enableAudioFrameObserver

Définit les paramètres de rappel audio.

registerAudioFrameObserver

Inscrit un rappel de données audio.

Entrée vidéo personnalisée

API

Description

setExternalVideoSource

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

pushExternalVideoFrame

Injecte des données vidéo.

Interfaces de partage de bureau

API

Description

startScreenShare

Démarre la publication du flux de partage d'écran.

startScreenShare

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

Remarque

Cette interface sera obsolète.

startScreenShare

Démarre le partage d'écran.

Remarque

Cette interface sera obsolète.

stopScreenShare

Arrête la publication du flux de partage d'écran.

setAudioShareVolume

Définit le volume du flux audio partagé.

isScreenSharePublished

Interroge pour savoir si le partage d'écran est configuré pour être publié.

setScreenShareEncoderConfiguration

Définit les propriétés d'encodage vidéo pour le flux d'écran.

Interfaces de diffusion en direct par relais

API

Description

startPublishLiveStream

Démarre la diffusion en direct par relais.

updatePublishLiveStream

Met à jour les paramètres de diffusion en direct par relais.

stopPublishLiveStream

Arrête la diffusion en direct par relais.

getPublishLiveStreamState

Récupère l'état de la diffusion en direct par relais.

Interfaces de sondage de la qualité réseau

API

Description

startNetworkQualityProbeTest

Démarre un sondage de la qualité réseau.

stopNetworkQualityProbeTest

Arrête un sondage de la qualité réseau.

SEI

API

Description

sendMediaExtensionMsg

Pousse un flux SEI.

sendMediaExtensionMsgEx

Pousse un flux SEI (étendu).

Autres interfaces

API

Description

setParameter

Définit des paramètres personnalisés.

getParameter

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

setLogDirPath

Définit le chemin d'enregistrement des fichiers journaux du SDK.

setLogLevel

Définit le niveau de journalisation.

setDeviceOrientationMode

Définit l'orientation de l'appareil.

requestAudioFocus

Demande la priorité audio.

abandonAudioFocus

Libère la priorité audio.

getNetworkTime

Récupère l'heure réseau actuelle.

sendDataChannelMsg

Envoie un message personnalisé via le canal de données.

Interface AliveEnc

API

Description

setGlobalEnvironment

Définit l'environnement global.

Rappels (Callbacks)

AliRtcEngineEventListener

API

Description

onConnectionStatusChange

Rappel en cas de modification de l'état de la connexion réseau. Vous devez gérer ce rappel.

OnLocalDeviceException

Rappel en cas d'exception sur l'appareil local. Vous devez gérer ce rappel.

onJoinChannelResult

Rappel indiquant le résultat de la jonction à un canal.

onLeaveChannelResult

Rappel indiquant le résultat de la sortie d'un canal.

onAudioPublishStateChanged

Rappel en cas de modification de l'état de publication audio.

onAudioSubscribeStateChanged

Rappel en cas de modification de l'état d'abonnement audio.

onVideoPublishStateChanged

Rappel en cas de modification de l'état de publication vidéo.

onVideoSubscribeStateChanged

Rappel en cas de modification de l'état d'abonnement au flux de la caméra.

onPublishLiveStreamStateChanged

Rappel en cas de modification de l'état de publication du flux de contournement.

onPublishTaskStateChanged

Rappel en cas de modification de l'état de la tâche de contournement.

onNetworkQualityChanged

Rappel en cas de modification de la qualité du réseau.

onNetworkQualityProbeTest

Rappel relatif à la sonde de qualité réseau. Ce rappel est fourni environ 3 secondes après le début de la sonde.

onNetworkQualityProbeTestResult

Rappel indiquant le résultat de la sonde de qualité réseau. Ce rappel est fourni environ 30 secondes après le début de la sonde.

onSnapshotComplete

Interface de rappel pour les résultats des captures d'écran.

onScreenSharePublishStateChanged

Rappel en cas de modification de l'état de publication du partage d'écran.

onScreenShareSubscribeStateChanged

Rappel en cas de modification de l'état d'abonnement au flux de partage d'écran.

onOccurError

Notification d'erreur.

OnLocalAudioStateChanged

Rappel indiquant l'état du périphérique audio local.

AliRtcEngineNotify

API

Description

onAuthInfoWillExpire

Notification indiquant que les informations d'authentification de l'utilisateur sont sur le point d'expirer. L'authentification expire 30 secondes après la réception de ce rappel. Vous devez gérer ce rappel.

onAuthInfoExpired

Le serveur indique que les informations ont expiré lorsque l'utilisateur appelle une interface nécessitant une authentification.

onRemoteUserOffLineNotify

Notification indiquant qu'un utilisateur distant s'est déconnecté.

onRemoteUserOnLineNotify

Notification indiquant qu'un utilisateur distant s'est connecté.

onRemoteTrackAvailableNotify

Notification des informations de publication de flux distant.

onBye

Message indiquant que l'utilisateur a été expulsé du serveur ou que le canal est terminé.

onUserAudioMuted

Notification indiquant qu'un utilisateur distant est en sourdine.

onUserAudioInterruptedBegin

Notification indiquant le début d'une interruption du périphérique audio.

onUserAudioInterruptedEnded

Notification indiquant la fin d'une interruption du périphérique audio.

onUserVideoMuted

Notification indiquant que l'utilisateur distant envoie des images vidéo noires.

onUserVideoEnabled

Notification indiquant que l'utilisateur distant a désactivé la collecte du flux de la caméra.

onUserWillResignActive

L'application de l'utilisateur distant est passée en arrière-plan.

onUserWillBecomeActive

L'application de l'utilisateur distant est revenue au premier plan.

onAudioEffectFinished

Rappel indiquant la fin de la lecture d'un effet sonore local.

onAudioFileInfo

Rappel fournissant des informations sur le fichier audio.

onMediaExtensionMsgReceived

Rappel indiquant la réception d'un message d'extension multimédia.

onFirstRemoteVideoFrameDrawn

Ce message est déclenché lors de l'affichage de la première image vidéo d'un utilisateur distant.

onFirstLocalVideoFrameDrawn

Ce message est déclenché lors de l'affichage de la première image vidéo dans l'aperçu.

onFirstVideoFrameReceived

Rappel indiquant la réception de la première image vidéo d'un utilisateur distant.

onFirstVideoPacketSent

Rappel indiquant l'envoi du premier paquet vidéo.

onFirstAudioPacketSent

Rappel indiquant l'envoi du premier paquet audio.

onFirstVideoPacketReceived

Rappel indiquant la réception du premier paquet vidéo.

onFirstAudioPacketReceived

Rappel indiquant la réception du premier paquet audio.

onFirstRemoteAudioDecoded

Rappel indiquant le décodage de la première image audio distante.

onAudioAccompanyStateChanged

Rappel indiquant l'état de lecture de l'accompagnement audio local.

onRemoteAudioAccompanyStarted

Rappel indiquant le début de la lecture de l'accompagnement audio d'un utilisateur distant.

onRemoteAudioAccompanyFinished

Rappel indiquant la fin de la lecture de l'accompagnement audio d'un utilisateur distant.

onAliRtcStats

Rappel de données en temps réel (déclenché toutes les 2 secondes).

onRtcLocalVideoStats

Statistiques de données pour le flux vidéo local publié (déclenché toutes les 2 secondes).

onRtcRemoteVideoStats

Statistiques de données pour le flux vidéo distant abonné (déclenché toutes les 2 secondes).

onRtcRemoteAudioStats

Statistiques de données pour le flux audio distant abonné (déclenché toutes les 2 secondes).

onRtcLocalAudioStats

Statistiques de données pour le flux audio local publié (déclenché toutes les 2 secondes).

onAudioFocusChange

Rappel en cas de modification de la priorité audio (Android uniquement).

onAudioRouteChanged

Rappel en cas de modification du routage audio (Android et iOS uniquement).

onRemoteUserSubscribedDataChannel

Rappel indiquant que vous pouvez commencer à envoyer des messages via le canal de données.

onDataChannelMessage

Rappel indiquant la réception de messages personnalisés via le canal de données.

AliRtcAudioVolumeObserver

API

Description

onAudioVolume

Rappel indiquant le niveau de volume de l'utilisateur.

onActiveSpeaker

Détection d'activité vocale. Rappel lorsqu'un utilisateur actif est détecté.

OnTestAudioVolume

Test pré-appel. Rappel fournissant des informations sur le volume.

AliRtcAudioFrameObserver

API

Description

onCapturedAudioFrame

Rappel fournissant les données audio brutes collectées.

onProcessCapturedAudioFrame

Rappel fournissant les données audio après traitement 3A.

onPublishAudioFrame

Rappel fournissant les données audio publiées.

onPlaybackAudioFrame

Rappel fournissant les données de lecture.

onRemoteUserAudioFrame

Rappel fournissant les données du flux extrait à distance.

AliRtcDestroyCompletionObserver

API

Description

OnDestroyCompletion

Rappel indiquant la destruction du moteur.

AliRtcTextureObserver

API

Description

onTextureCreate

Rappel indiquant la création du contexte OpenGL.

onTextureUpdate

Rappel indiquant la mise à jour des textures OpenGL.

onTextureDestroy

Rappel indiquant la destruction du contexte OpenGL.

AliRtcVideoObserver

API

Description

onLocalVideoSample

Rappel fournissant les données de collecte vidéo locales abonnées.

onPreEncodeVideoSample

Rappel fournissant les données vidéo locales avant encodage abonnées.

onRemoteVideoSample

Rappel fournissant les données vidéo distantes abonnées.

onGetVideoFormatPreference

Format de sortie des données vidéo.

onGetObservedFramePosition

Contenu de sortie des données vidéo.

Détails des interfaces

getInstance[1/2]

Récupère une instance AliRtcEngine (modèle singleton).

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

Quand appeler

Appelez cette méthode pour créer une instance AliRtcEngine avant d'appeler d'autres API du SDK ARTC.

Limites

Le SDK ne permet de créer qu'une seule instance AliRtcEngine par application.

Paramètres

Paramètre

Type

Description

context

Context

Le contexte de l'activité Android.

Valeur renvoyée

Une instance AliRtcEngineImpl.

getInstance[2/2]

Récupère une 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. La différence est que cette méthode vous permet de spécifier davantage de configurations lors de la création de l'instance.

Quand appeler

Appelez cette méthode pour créer une instance AliRtcEngine avant d'appeler d'autres API du SDK ARTC.

Limites

Le SDK ne permet de créer qu'une seule instance AliRtcEngine par application.

Paramètres

Paramètre

Type

Description

context

Context

Le contexte de l'activité Android.

extras

String

Utilisé pour recevoir des paramètres de déploiement progressif (grayscale) du client afin de configurer des fonctionnalités SDK spéciales via des configurations JSON. Peut être une chaîne vide.

Valeur renvoyée

Renvoie une instance singleton de la classe AliRtcEngineImpl. La classe AliRtcEngineImpl est une sous-classe de la classe AliRtcEngine.

destroy[1/2]

Détruit l'objet AliRtcEngine.

public abstract void destroy();

Cette méthode détruit l'objet singleton AliRtcEngine. Après cet appel, toutes les ressources internes sont libérées et vous ne pouvez plus utiliser aucune autre méthode ou rappel d'AliRtcEngine. Pour réutiliser le moteur, vous devez appeler à nouveau getInstance afin de créer une nouvelle instance.

Remarque
  • Cette méthode et destroy[2/2] permettent toutes deux de détruire l'instance du moteur. La différence est que destroy[2/2] vous permet de transmettre un objet d'écoute pour signaler la fin de la destruction.

  • Pour créer une autre instance AliRtcEngine après en avoir détruit une, assurez-vous que cette méthode a terminé son exécution avant de créer la nouvelle instance.

Quand appeler

Une fois la session de communication en temps réel terminée et si vous n'avez plus besoin d'AliRtcEngine, appelez cette méthode pour libérer l'instance et les ressources associées.

Limites

  • Pour éviter les interblocages, n'appelez pas cette méthode dans les rappels du SDK.

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

    mAliRtcEngine.destroy();
    mAliRtcEngine = null;

destroy[2/2]

Détruit l'objet AliRtcEngine.

public abstract void destroy(AliRtcDestroyCompletionObserver observer);

Détruit l'objet singleton AliRtcEngine. Cette méthode libère toutes les ressources internes. Vous ne pouvez plus utiliser d'autres méthodes AliRtcEngine ni aucun rappel. Pour réutiliser le moteur, vous devez appeler getInstance afin de créer une nouvelle instance.

Remarque

Il s'agit d'une méthode asynchrone. Elle fournit un observateur permettant aux développeurs de savoir quand l'opération de destruction est terminée. Vous ne pouvez créer une nouvelle instance qu'après le retour du rappel OnDestroyCompletion. L'instance n'est détruite qu'une fois le rappel de l'observateur déclenché.

Quand appeler

Une fois la session de communication en temps réel terminée, appelez cette méthode pour libérer l'instance.

Limites

Pour éviter les interblocages, n'appelez pas cette méthode dans les rappels du SDK.

Rappels associés

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

Paramètres

Paramètre

Type

Description

observer

AliRtcDestroyCompletionObserver

Rappel de notification indiquant que le moteur a été détruit. Vous pouvez écouter ce rappel pour vous assurer que les ressources sont entièrement libérées.

setH5CompatibleMode

Définit si la compatibilité H5 doit être activée.

public static int setH5CompatibleMode(int enable);

Paramètres

Paramètre

Type

Description

enable

int

Définit si la compatibilité H5 doit être activée. Valeurs valides :

  • 0 (par défaut) : H5 n'est pas compatible.

  • 1 : H5 est compatible.

Important

La version actuelle ne permet pas de modifier le mode de compatibilité H5 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 actuel est compatible avec H5.

public static int getH5CompatibleMode();

Valeur renvoyée

  • 1 : H5 est compatible.

  • 0 : H5 n'est pas compatible.

setRtcEngineEventListener

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

public abstract void setRtcEngineEventListener(AliRtcEngineEventListener listener);

Cette méthode définit l'écouteur pour les événements liés à l'utilisateur local. Ces événements incluent les résultats de l'entrée ou de la sortie d'un canal, les changements de rôle utilisateur, les modifications de l'état de publication audio et vidéo, les modifications de l'état d'abonnement audio et vidéo, les variations de la qualité du réseau et les résultats des sondes, les résultats des captures d'écran, les notifications d'état et d'exception des appareils, ainsi que les notifications d'erreur du SDK. En implémentant les méthodes de rappel de cette classe, vous pouvez gérer le cycle de vie et les changements d'état liés à l'utilisateur local et au RTC.

Remarque
  • Par défaut, toutes les interfaces ont une implémentation vide. Vous n'êtes pas tenu d'implémenter tous les rappels. Implémentez les méthodes d'événement correspondantes en fonction de vos besoins métier.

  • Pour implémenter les rappels pour les utilisateurs distants, les événements de première image et de premier paquet, l'état de lecture des effets sonores et de l'accompagnement, ainsi que les informations d'authentification, implémentez les rappels pertinents de la classe AliRtcEngineNotify et appelez l'interface setRtcEngineNotify.

  • N'effectuez pas d'opérations longues dans les méthodes de rappel, telles que l'appel de la méthode de destruction du moteur elle-même. Cela pourrait provoquer un blocage inutile et affecter le fonctionnement du SDK.

Quand appeler

Appelez cette méthode avant de rejoindre un canal.

Rappels associés

Si une exception se produit pendant l'opération, le SDK tente d'abord d'utiliser son mécanisme interne de nouvelle tentative pour récupérer automatiquement. Pour les erreurs qui ne peuvent pas être résolues en interne, le SDK notifie votre application via des interfaces de rappel prédéfinies. Voici les principaux rappels pour les problèmes que le SDK ne peut pas gérer et qui nécessitent que la couche application écoute et réponde :

Raison de l'exception

Rappel et paramètres

Solution

Description

Échec de l'authentification

Le résultat dans le rappel onJoinChannelResult renvoie AliRtcErrJoinBadToken.

Si cette erreur se produit, l'application doit vérifier si le jeton est correct.

Lorsqu'un utilisateur appelle activement une API, si l'authentification échoue, le système renvoie un message d'erreur d'échec d'authentification dans le rappel de l'API.

Exception de connexion réseau

Le rappel onConnectionStatusChange renvoie AliRtcConnectionStatusFailed.

Si cette exception se produit, l'application doit rejoindre à nouveau le canal.

Le SDK peut récupérer automatiquement d'une déconnexion réseau pendant une certaine période. Toutefois, si la durée de la déconnexion dépasse un seuil prédéfini, un délai d'attente est déclenché et la connexion est perdue. Dans ce cas, l'application doit vérifier l'état du réseau et guider l'utilisateur pour qu'il rejoigne à nouveau la session.

Exception de l'appareil local

onLocalDeviceException

Si cette exception se produit, l'application doit vérifier si les autorisations et le matériel de l'appareil sont normaux.

Le service RTC prend en charge la détection des appareils et le diagnostic des exceptions. Lorsqu'une exception d'appareil local se produit, le service RTC en informe le client via un rappel. Si le SDK ne peut pas résoudre le problème par lui-même, l'application doit intervenir pour vérifier si l'appareil fonctionne correctement.

Paramètres

Paramètre

Type

Description

listener

AliRtcEngineEventListener

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

setRtcEngineNotify

Définit l'écouteur pour les événements de notification du comportement des utilisateurs distants.

public abstract void setRtcEngineNotify(AliRtcEngineNotify listener);

Cette méthode définit l'écouteur pour les événements liés aux utilisateurs distants. Ces événements incluent les notifications d'arrivée ou de départ des utilisateurs distants, l'état de publication audio et vidéo des utilisateurs distants, les changements de résolution des utilisateurs distants, l'état d'envoi et de réception des premières images/paquets audio et vidéo pour les utilisateurs distants et locaux, l'état de lecture des effets sonores et de l'accompagnement locaux et distants, l'état de mise en sourdine, les statistiques des flux audio/vidéo locaux et distants, la réception SEI, la réception de messages personnalisés et les changements d'informations d'authentification. En implémentant les méthodes de rappel de cette classe, vous pouvez gérer les informations d'événement liées à l'interaction avec les utilisateurs distants.

Remarque
  • Par défaut, toutes les interfaces ont une implémentation vide. Vous n'êtes pas tenu d'implémenter toutes les méthodes. Implémentez les méthodes d'événement correspondantes en fonction de vos besoins métier.

  • N'effectuez pas d'opérations longues dans les méthodes de rappel, telles que l'appel de la méthode de destruction du moteur elle-même. Cela pourrait provoquer un blocage inutile et affecter le fonctionnement du SDK.

Quand appeler

Appelez cette méthode avant de rejoindre un canal.

Rappels associés

Si une exception se produit pendant l'opération, le SDK tente d'abord d'utiliser son mécanisme interne de nouvelle tentative pour récupérer automatiquement. Pour les erreurs qui ne peuvent pas être résolues en interne, le SDK notifie votre application via des interfaces de rappel prédéfinies. Voici les principaux rappels pour les problèmes que le SDK ne peut pas gérer et qui nécessitent que la couche application écoute et réponde :

Raison de l'exception

Rappel et paramètres

Solution

Description

Déconnecté de force

onBye

  • AliRtcOnByeUserReplaced : Si cette exception se produit, vérifiez si les ID utilisateur sont identiques.

  • AliRtcOnByeBeKickedOut : Si cette exception se produit, cela signifie que l'utilisateur a été expulsé par la logique métier. L'utilisateur doit rejoindre à nouveau le canal.

  • AliRtcOnByeChannelTerminated : Si cette exception se produit, cela signifie que le canal a été détruit. L'utilisateur doit rejoindre à nouveau le canal.

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

Authentification sur le point d'expirer

onWillAuthInfoExpire

Si cette exception se produit, l'application doit obtenir les dernières informations d'authentification, puis appeler refreshAuthInfo pour les actualiser.

Les erreurs d'expiration de l'authentification se produisent dans deux situations : lorsque l'utilisateur appelle une API ou pendant 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

Si cette exception se produit, l'application doit rejoindre à nouveau le canal.

Les erreurs d'expiration de l'authentification se produisent dans deux situations : lorsque l'utilisateur appelle une API ou pendant 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.

Paramètres

Paramètre

Type

Description

listener

AliRtcEngineNotify

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

getSdkVersion

Interroge la version actuelle du SDK.

public static String getSdkVersion();

Valeur renvoyée

Le numéro de version actuel du SDK au format chaîne, par exemple « 2.5.0.x ».

setChannelProfile

Définit le mode de canal.

public abstract int setChannelProfile(AliRTCSdkChannelProfile channelProfile);

Cette méthode définit le mode de canal. Elle propose actuellement deux scénarios : appel vidéo et diffusion interactive en direct :

  • Mode appel vidéo : Tous les utilisateurs sont des diffuseurs et peuvent publier et s'abonner aux flux.

  • Mode diffusion interactive : 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 définir le rôle de l'utilisateur. Les utilisateurs qui ingèrent des flux dans le canal se voient attribuer le rôle de diffuseur (AliRTCSdkInteractive). Si un utilisateur a uniquement besoin de tirer des flux et n'ingère pas de flux, il se voit attribuer le rôle de spectateur (AliRTCSdkLive). Ce mode est recommandé pour les scénarios RTC.

Remarque
  • Nous vous recommandons d'utiliser le mode de diffusion interactive pour tous les scénarios RTC. Pour ce faire, appelez cette API et définissez le mode sur AliRTCSdkInteractiveLive.

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

Quand appeler

Appelez cette méthode uniquement avant de rejoindre un canal. Vous ne pouvez pas réinitialiser le mode de canal après avoir rejoint un canal. Vous pouvez réinitialiser le mode après avoir quitté le canal.

Paramètres

Paramètre

Type

Description

channelProfile

AliRTCSdkChannelProfile

Le type de canal. Le mode interactif est recommandé pour tous les scénarios RTC.

Valeur renvoyée

0 indique que l'appel de la méthode a réussi. Toute autre valeur indique un échec. 1 : Le SDK n'est pas initialisé ou a été détruit.

setAudioProfile

Définit le mode d'encodage audio et le mode de scénario.

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

Cette méthode configure le mode d'encodage audio ainsi que le mode de scénario audio. Pour plus d'informations, consultez la rubrique Opérations et configurations audio courantes. Par défaut, le SDK ARTC utilise 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 besoins, appelez cette méthode pour les modifier.

Moment de l'appel

Appelez cette méthode uniquement avant de rejoindre un canal. Vous ne pouvez pas réinitialiser les paramètres une fois dans le canal. Il est possible de les modifier après avoir quitté le canal.

Paramètres

Parameter

Type

Description

profile

AliRtcAudioProfile

Paramètre définissant le mode de collecte ou d'encodage audio. Le mode audio haute qualité (AliRtcEngineHighQualityMode) est recommandé.

Remarque

Pour assurer l'interopérabilité avec un client Web, définissez la fréquence d'échantillonnage sur 48 kHz.

  • AliRtcEngineLowQualityMode : Mode audio basse qualité. Fréquence d'échantillonnage par défaut de 8 000 Hz, mono, débit maximal de 12 kbit/s.

  • AliRtcEngineBasicQualityMode : Mode audio qualité standard. Fréquence d'échantillonnage par défaut de 16 000 Hz, mono, débit maximal de 24 kbit/s.

  • AliRtcEngineHighQualityMode : Fréquence d'échantillonnage par défaut de 48 000 Hz, mono, débit maximal de 64 kbit/s.

  • AliRtcEngineStereoHighQualityMode : Mode audio stéréo haute qualité. Fréquence d'échantillonnage par défaut de 48 000 Hz, stéréo, débit maximal de 80 kbit/s.

  • AliRtcEngineSuperHighQualityMode : Mode audio très haute qualité. Fréquence d'échantillonnage par défaut de 48 000 Hz, mono, débit maximal de 96 kbit/s.

  • AliRtcEngineStereoSuperHighQualityMode : Mode audio stéréo très haute qualité. Fréquence d'échantillonnage par défaut de 48 000 Hz, stéréo, débit maximal de 128 kbit/s.

scenario

AliRtcAudioScenario

Paramètre définissant le mode de scénario audio. Les options disponibles sont :

  • AliRtcSceneMusicMode (recommandé) : Scénario musical. Utilise des algorithmes 3A logiciels et capture l'audio depuis le téléphone mobile pour une meilleure qualité sonore.

  • AliRtcSceneDefaultMode : Utilise des algorithmes 3A matériels et peut capturer l'audio depuis des appareils Bluetooth.

Valeur de retour

0 : Succès. Une valeur inférieure à 0 indique un échec.

isAudioOnly

Vérifie si le mode actuel est audio seul.

public abstract boolean isAudioOnly();

Valeur de retour

true : mode audio seul. false : mode audio et vidéo.

setAudioOnlyMode

Active ou désactive le mode audio seul.

public abstract int setAudioOnlyMode(boolean audioOnly);

Paramètres

Parameter

Type

Description

audioOnly

boolean

Définit le mode audio seul ou audio et vidéo. Valeurs possibles :

  • true : Seul l'audio est publié et récupéré.

  • false (par défaut) : L'audio et la vidéo sont pris en charge.

Valeur de retour

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

joinChannel[1/3]

Rejoint un canal (connexion avec un seul paramètre).

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

Cette interface permet de rejoindre un canal. ARTC utilise des canaux pour organiser les utilisateurs. Vous devez rejoindre un canal pour publier ou vous abonner aux flux audio et vidéo. Cette interface, ainsi que joinChannel[2/3] et joinChannel[3/3], permettent toutes de rejoindre un canal. Elles diffèrent par la méthode d'authentification et les informations utilisateur transmises, comme suit :

  • Cette API est une méthode de connexion à paramètre unique. Transmettez un jeton généré pour une connexion à paramètre unique en utilisant Authentification par jeton pour rejoindre le canal. Cette API est recommandée pour rejoindre des canaux dans les scénarios RTC.

  • joinChannel[2/3] est une interface multi-paramètres pour rejoindre un canal. Pour utiliser cette interface, vous devez transmettre un jeton de connexion multi-paramètres généré via Authentification par jeton ainsi que les informations utilisateur utilisées pour générer le jeton.

  • La méthode joinChannel[3/3] est utilisée pour les scénarios d'IA conversationnelle en temps réel. Transmettez un jeton de connexion à paramètre unique et définissez la propriété utilisateur capabilityProfile en fonction du 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 audio et vidéo vers les utilisateurs distants. Si vous souhaitez annuler 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="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 API pour désactiver l'abonnement aux flux audio ou vidéo.

Moment de l'appel

Appelez cette méthode après avoir créé le moteur.

Limites

  • Après avoir rejoint un canal avec succès, si vous devez rejoindre un autre 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="4de6ecc1a4pa2">leaveChannel</a> pour quitter le canal actuel et vous assurer d'avoir reçu le rappel AliRtcEngineEventListener's <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="70c68b0236xdt">onLeaveChannelResult</a> avant de pouvoir rejoindre un autre canal.

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

  • Les applications utilisant des ID d'application différents ne peuvent pas communiquer entre elles.

  • Vous n'avez pas besoin de rappeler cette méthode si le SDK tente de nouveau de rejoindre le canal après un échec.

Rappels associés

Un appel réussi à cette méthode déclenche les rappels suivants :

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

  • Une fois que vous avez rejoint le canal avec succès, le rappel <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="40a9273affui1">onRemoteUserOnLineNotify</a> est déclenché.

Paramètres

Parameter

Type

Description

token

String

Informations d'authentification pour une connexion à paramètre unique.

channelId

String

Canal à rejoindre. Cette valeur doit être identique à celle utilisée pour générer le jeton.

userId

String

ID utilisateur pour rejoindre le canal. Cette valeur doit être identique à celle utilisée pour générer le jeton.

userName

String

Nom d'affichage de l'utilisateur (et non l'ID utilisateur).

Valeur de retour

0 indique que l'appel de la méthode a réussi. Une valeur non nulle indique un échec.

joinChannel[2/3]

Rejoint un canal (connexion multi-paramètres).

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

Cette opération permet de rejoindre un canal. ARTC utilise des canaux pour organiser les utilisateurs ; un utilisateur doit rejoindre un canal pour publier ou s'abonner aux flux audio et vidéo. Cette opération, ainsi que joinChannel[1/3] et joinChannel[3/3], permet de rejoindre un canal. Les différences résident dans la méthode d'authentification et les informations utilisateur transmises, comme détaillé ci-dessous :

  • joinChannel[1/3] est l'API à paramètre unique pour rejoindre un canal. Transmettez un jeton généré pour une connexion à paramètre unique via Authentification par jeton pour rejoindre le canal. Cette API est recommandée pour rejoindre un canal dans les scénarios RTC.

  • Cette API est une interface de connexion multi-paramètres. Vous devez transmettre un jeton de connexion multi-paramètres généré à l'aide de Authentification par jeton ainsi que les informations utilisateur ayant servi à générer le jeton.

  • joinChannel[3/3] est utilisé pour les scénarios d'IA conversationnelle en temps réel et nécessite de transmettre un jeton de connexion à paramètre unique et de définir la propriété utilisateur capabilityProfile en fonction du 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 audio et vidéo. Si vous souhaitez annuler 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 API pour désactiver l'abonnement aux flux audio ou vidéo.

  • Il s'agit d'une méthode de connexion multi-paramètres. Avant de l'appeler, générez un jeton de connexion multi-paramètres comme décrit dans Authentification par jeton.

Limites

  • Si vous devez passer à un autre canal après en avoir rejoint un, 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 attendre le rappel <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="6aefdfedb0op3">onLeaveChannelResult</a> de AliRtcEngineEventListener avant de pouvoir rejoindre un autre canal.

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

  • Les applications utilisant des ID d'application différents ne peuvent pas communiquer entre elles.

Rappels associés

Un appel réussi à cette méthode déclenche les rappels suivants :

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

  • Une fois que vous avez rejoint le canal avec succès, l'utilisateur distant déclenche le rappel <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 jeton est un jeton multi-paramètres. Les autres paramètres liés à la génération du jeton doivent être cohérents avec ceux utilisés lors de la génération du jeton et ne peuvent pas être vides.

userName

String

Nom d'affichage de l'utilisateur (et non l'ID utilisateur). Ce champ peut être vide.

Valeur de retour

0 indique que l'appel de la méthode a réussi. Une valeur non nulle indique un échec.

joinChannel[3/3]

Rejoint un canal (connexion à paramètre unique).

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

Cette interface permet de rejoindre un canal. Alibaba Real-Time Communication (ARTC) utilise des canaux pour organiser les utilisateurs. Vous devez rejoindre un canal pour publier ou vous abonner aux flux audio et vidéo. Cette interface, ainsi que joinChannel[1/3] et joinChannel[2/3], permettent toutes de rejoindre un canal. Les différences résident dans la méthode d'authentification et les informations utilisateur transmises, comme suit :

  • joinChannel[1/3] est l'API recommandée pour rejoindre un canal avec un seul paramètre dans les scénarios RTC. Vous pouvez rejoindre un canal en transmettant un jeton généré à l'aide de Authentification par jeton.

  • joinChannel[2/3] est l'API pour rejoindre un canal avec plusieurs paramètres. Pour utiliser cette API, vous devez utiliser Authentification par jeton pour générer un jeton de connexion multi-paramètres, puis transmettre le jeton généré ainsi que les informations utilisateur ayant servi à sa création.

  • Cette API est utilisée pour le scénario d'IA conversationnelle en temps réel, où vous transmettez le jeton pour rejoindre une session en tant que paramètre unique et définissez la propriété utilisateur capabilityProfile en fonction du scénario. Pour communiquer avec un agent IA, définissez cette propriété sur AliCapabilityProfileAiHuman.

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 flux audio et vidéo vers les utilisateurs distants. Si vous souhaitez annuler 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> et <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="0112175788ybe">setDefaultSubscribeAllRemoteVideoStreams</a> avant d'appeler cette méthode pour désactiver l'abonnement aux flux audio ou vidéo.

Limites

  • Si vous devez rejoindre un autre canal après en avoir rejoint un avec succès, 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 d'avoir reçu le rappel <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="d128acfee2fpd">onLeaveChannelResult</a> de AliRtcEngineEventListener avant de pouvoir rejoindre à nouveau un canal.

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

  • Les applications utilisant des ID d'application différents ne peuvent pas communiquer entre elles.

  • Vous n'avez pas besoin de rappeler cette méthode si le SDK tente de nouveau de rejoindre le canal après un échec.

Rappels associés

Un appel réussi à cette méthode déclenche les rappels suivants :

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

  • Une fois que vous avez rejoint le canal avec succès, le rappel <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="9b5662c5a0nvf">onRemoteUserOnLineNotify</a> est déclenché.

Paramètres

Parameter

Type

Description

token

String

Jeton de connexion à paramètre unique.

channelParam

AliRTCSdkChannelParam

Paramètres de connexion au canal. Principalement utilisés pour les scénarios d'IA conversationnelle en temps réel, ils incluent :

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

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

  • userName : Nom d'affichage quelconque pour l'utilisateur (et non l'ID utilisateur). Ce paramètre peut être omis.

  • capabilityProfile : Propriété utilisateur. Vous devez la configurer spécifiquement pour les scénarios de communication avec un agent IA. Utilisez la valeur par défaut pour les scénarios sans agent IA.

Valeur de retour

0 indique que l'appel de la méthode a réussi. Une valeur non nulle indique un échec.

leaveChannel

Quitte un canal. Après avoir appelé cette méthode, le SDK met fin à l'interaction audio et vidéo en temps réel et quitte le canal actuel.

public abstract int leaveChannel();
Remarque
  • Cette méthode est une opération asynchrone. Un appel réussi ne signifie pas que vous avez effectivement quitté le canal. Vous quittez le canal uniquement après réception du rappel <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="7e49937108skj">onLeaveChannelResult</a>.

  • Une fois l'opération leaveChannel terminée, détruisez le moteur et définissez-le sur null.

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

Quand appeler

  • Appelez cette méthode lorsque vous devez quitter le canal après y avoir rejoint.

  • Si vous avez déjà rejoint un canal et devez en rejoindre un autre, appelez d'abord cette méthode pour quitter le canal actuel.

Rappels associés

  • Client local : après avoir appelé cette méthode, le rappel <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 : après un appel réussi de cette API, les utilisateurs distants reçoivent le rappel <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#75c700a2376c1" id="69bf5ff199oda">onRemoteUserOffLineNotify</a>.

Valeur de retour

0 indique que l'appel de la méthode a réussi. Une valeur non nulle indique un échec.

isInCall

Vérifie si l'utilisateur se trouve dans un canal.

public abstract boolean isInCall();

Valeur de retour

true : l'utilisateur se trouve dans un canal. false : l'utilisateur ne se trouve pas dans un canal.

setClientRole

Définit 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 streamer ou viewer.

En mode interactif, avant de rejoindre un canal :

  • Si vous définissez le rôle de l'utilisateur sur streamer, le SDK publie automatiquement les flux audio et vidéo locaux par défaut et reçoit les flux audio et vidéo des autres streamers.

  • Si vous définissez le rôle de l'utilisateur sur viewer, le SDK ne publie pas les flux audio et vidéo locaux, mais reçoit les flux audio et vidéo des autres streamers.

Quand appeler

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal. Appelez-la avant de rejoindre pour définir le rôle de l'utilisateur, ou après avoir rejoint pour changer de rôle.

Limites

Cette méthode n'est effective qu'en mode interactif, ce qui signifie que vous devez appeler la méthode setChannelProfile pour définir le profil du canal sur AliRTCSdkInteractiveLive.

En mode interactif, nous vous recommandons de définir explicitement le rôle de l'utilisateur avant de rejoindre une session.

Paramètres

Paramètre

Type

Description

clientRole

AliRTCSdkClientRole

Type de rôle de l'utilisateur. Valide uniquement en mode interactif.

getCurrentClientRole

Obtient le rôle de l'utilisateur.

public abstract AliRTCSdkClientRole getCurrentClientRole();

Valeur de retour

Renvoie 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 jetons expirent après une certaine période et le SDK ne peut plus établir de connexion avec le serveur après l'expiration.

Remarque

Cette API et l'opération refreshAuthInfo[2/2] mettent toutes deux à jour les informations d'authentification. Cette API est utilisée pour mettre à jour les jetons pour les réunions multi-participants, tandis que refreshAuthInfo[2/2] est utilisée pour mettre à jour les jetons pour les réunions à participant unique. Pour plus d'informations sur la génération de jetons, consultez Authentification par jeton.

Quand appeler

Dans les situations suivantes :

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

  • Si vous ne mettez pas à jour le jeton à temps, le rappel <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é, ce qui indique que l'authentification a expiré. Dans ce cas, vous devez régénérer le jeton, puis appeler joinChannel pour rejoindre à nouveau le canal.

Paramètres

Paramètre

Type

Description

authInfo

AliRtcAuthInfo

Informations d'authentification.

Valeur de retour

0 indique que l'appel de la méthode a réussi. 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 jeton. Les jetons expirent après une certaine période et le SDK ne peut plus établir de connexion avec le serveur après l'expiration.

Remarque

Cette API et refreshAuthInfo[1/2] servent toutes deux à mettre à jour les informations d'authentification. Cette API met à jour le jeton pour les joins de réunion à paramètre unique, tandis que refreshAuthInfo[1/2] met à jour le jeton pour les joins de réunion à paramètres multiples. Pour plus d'informations sur la génération de jetons, consultez Authentification par jeton.

Quand appeler

Dans les situations suivantes, nous vous recommandons de générer un nouveau jeton sur votre serveur, puis d'appeler cette méthode pour transmettre le nouveau jeton :

  • Lorsque le rappel <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 le jeton n'est pas mis à jour à temps, cela déclenche <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8fa7e60f9f5qq" id="3fd674e985gl8">onAuthInfoExpired</a>, indiquant que l'authentification a expiré, et vous devez alors appeler joinChannel pour rejoindre à nouveau le canal.

Paramètres

Paramètre

Type

Description

token

String

Les informations d'authentification pour un join à paramètre unique.

Valeur de retour

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

publishLocalAudioStream

Arrête ou reprend la publication du flux vidéo local.

public abstract int publishLocalAudioStream(boolean enable);

Cette méthode permet de contrôler la publication du flux audio local. Par défaut, le SDK publie le flux audio. Pour désactiver ce comportement, appelez publishLocalAudioStream(false) avant de rejoindre une réunion.

Quand appeler

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal. Si vous l'appelez avant de rejoindre, le paramètre prend effet lors de la jonction au canal.

Rappels associés

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

Paramètres

Paramètre

Type

Description

enable

boolean

Indique s'il faut publier le flux audio. Valeurs possibles :

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

  • false : ne pas publier le flux audio.

Valeur de retour

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

isLocalAudioStreamPublished

Interroge si le flux audio est en cours de publication.

public abstract boolean isLocalAudioStreamPublished();

Valeur de retour

true : le flux audio est en cours de publication. false : le flux audio n'est pas en cours de publication.

setDefaultSubscribeAllRemoteAudioStreams

Définit s'il faut s'abonner aux flux audio distants par défaut.

public abstract int setDefaultSubscribeAllRemoteAudioStreams(boolean sub);

Cette méthode configure si le système s'abonne aux flux audio des utilisateurs distants par défaut. Ce paramètre affecte le comportement d'abonnement aux flux audio des utilisateurs qui rejoignent le canal ultérieurement. Nous vous recommandons de le définir sur true, sauf si vous avez des exigences spécifiques.

Quand appeler

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

  • Avant de rejoindre un canal :

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

  • Après avoir rejoint un canal :

    • Si vous souhaitez arrêter l'abonnement par défaut, vous pouvez appeler setDefaultSubscribeAllRemoteAudioStreams(false). Vous ne vous abonnerez pas aux flux audio des utilisateurs qui rejoindront le canal par la suite.

    • Après avoir arrêté l'abonnement par défaut, si vous souhaitez reprendre l'abonnement au flux audio d'un utilisateur spécifique, appelez la méthode subscribeRemoteAudioStream. Pour reprendre l'abonnement à plusieurs utilisateurs, appelez cette méthode plusieurs fois.

    • Après avoir arrêté l'abonnement par défaut, l'appel à setDefaultSubscribeAllRemoteAudioStreams(true) reprend uniquement les flux audio des utilisateurs qui rejoignent le canal par la suite. Les flux audio des utilisateurs distants qui ont rejoint le canal pendant l'arrêt de l'abonnement ne sont pas abonnés.

Paramètres

Paramètre

Type

Description

sub

boolean

Indique s'il faut s'abonner aux flux audio distants par défaut. Valeurs possibles :

  • true (par défaut) : s'abonner aux flux audio distants par défaut.

  • false : ne pas s'abonner aux flux audio distants par défaut.

Valeur de retour

0 indique que l'appel de la méthode a réussi. 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. Nous vous recommandons de le définir sur true, sauf si vous avez des exigences spécifiques.

Remarque

Par défaut, le SDK s'abonne 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_1_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="d319c7806ej0h">setDefaultSubscribeAllRemoteAudioStreams</a>(false) avant de rejoindre la réunion pour annuler cette configuration par défaut.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

sub

boolean

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

  • true (par défaut) : reprendre.

  • false : arrêter.

Valeur de retour

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

subscribeAllRemoteAudioStreams

Définit s'il faut s'abonner à tous les flux audio distants.

public abstract int subscribeAllRemoteAudioStreams(boolean sub);

Cette méthode est l'interrupteur principal pour l'abonnement aux flux audio distants. Nous vous recommandons de le définir sur true. Si vous le définissez sur false, les événements suivants se produisent :

  • Tous les flux audio distants de la session actuelle ne sont plus abonnés.

  • Les nouveaux utilisateurs qui rejoignent le canal par la suite ne sont pas abonnés.

  • Vous ne pouvez pas 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écifique.

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

Remarque

Par défaut, le SDK s'abonne aux flux audio de tous les utilisateurs distants lorsque vous rejoignez un canal. 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 le canal pour désactiver cette configuration par défaut.

Paramètres

Paramètre

Type

Description

sub

boolean

Indique s'il faut s'abonner à tous les flux audio distants. Valeurs possibles :

  • true (par défaut) : s'abonner à tous les flux audio distants.

  • false : ne pas s'abonner à tous les flux audio distants.

Valeur de retour

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

publishLocalVideoStream

Définit s'il faut publier le flux de la caméra.

public abstract int publishLocalVideoStream(boolean enable);

Cette méthode contrôle la publication ou non du flux vidéo capté localement.

Remarque

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

Quand appeler cette méthode

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

Si vous l'appelez avant de rejoindre le canal, le paramètre prend effet lors de la connexion.

Rappels associés

Lorsque le résultat d'ingestion du flux audio local change, le client local déclenche le rappel <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#afe6d3c4b1rvg" id="8b70bc353aj68">onVideoPublishStateChanged</a> pour notifier du dernier statut d'ingestion du flux audio, et le client distant déclenche le rappel <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7078e15087a0z" id="176ee94b46lb7">onRemoteTrackAvailableNotify</a> pour notifier des changements concernant les flux audio et vidéo de l'utilisateur distant.

Paramètres

Parameter

Type

Description

enable

boolean

Indique s'il faut publier le flux de la caméra. Valeurs possibles :

  • true (par défaut) : Publier le flux de la caméra.

  • false : Ne pas publier le flux de la caméra.

Valeur de retour

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

isLocalVideoStreamPublished

Interroge l'état de publication du flux de la caméra.

public abstract boolean isLocalVideoStreamPublished();

Valeur de retour

true : Le flux de la caméra est en cours de publication. false : Le flux de la caméra n'est pas publié.

setDefaultSubscribeAllRemoteVideoStreams

Définit s'il faut s'abonner aux flux vidéo distants par défaut.

public abstract int setDefaultSubscribeAllRemoteVideoStreams(boolean sub);

Cette méthode définit s'il faut s'abonner aux flux vidéo distants par défaut. Le SDK s'abonne par défaut.

Quand appeler cette méthode

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal. Si vous appelez setDefaultSubscribeAllRemoteVideoStreams(false) après avoir rejoint un canal, vous ne recevrez pas les flux vidéo des utilisateurs qui rejoindront le canal ultérieurement.

Après avoir arrêté de recevoir les flux vidéo, si vous souhaitez reprendre la réception, appelez subscribeRemoteVideoStream et spécifiez l'ID de l'utilisateur distant dont vous souhaitez recevoir le flux. Si vous souhaitez reprendre la réception des flux vidéo de plusieurs utilisateurs, appelez subscribeRemoteVideoStream plusieurs fois. L'appel à setDefaultSubscribeAllRemoteVideoStreams(true) permet uniquement de reprendre la réception des flux vidéo des utilisateurs qui rejoignent le canal ultérieurement.

Cette méthode définit s'il faut s'abonner aux flux vidéo des utilisateurs distants par défaut.

Remarque

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

Paramètres

Parameter

Type

Description

sub

boolean

Indique s'il faut s'abonner aux flux vidéo distants par défaut. Valeurs possibles :

  • true (par défaut) : S'abonner par défaut.

  • false : Ne pas s'abonner par défaut.

Valeur de retour

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

subscribeRemoteVideoStream

Arrête ou reprend l'abonnement à un flux vidéo distant spécifié.

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

S'abonne ou se désabonne du flux vidéo d'un utilisateur spécifié.

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, vous pouvez appeler <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.

Quand appeler cette méthode

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

Paramètres

Parameter

Type

Description

uid

String

UID de l'utilisateur

track

AliRtcVideoTrack

Type de flux vidéo.

sub

boolean

Indique s'il faut recevoir le flux vidéo de l'utilisateur spécifié.

  • true : Recevoir le flux vidéo de l'utilisateur spécifié.

  • false : Arrêter de recevoir le flux vidéo de l'utilisateur spécifié.

Valeur de retour

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

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

subscribeAllRemoteVideoStreams

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

public abstract int subscribeAllRemoteVideoStreams(boolean sub);

Cette méthode constitue l'interrupteur principal pour l'abonnement aux flux vidéo distants. Si vous la définissez sur false, les effets suivants se produisent :

  • Tous les flux vidéo distants de la session en cours ne sont plus abonnés.

  • Les nouveaux utilisateurs qui rejoignent la réunion ultérieurement ne seront pas non plus abonnés (même si vous avez défini <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="8661e30c89dum">setDefaultSubscribeAllRemoteVideoStreams</a>(true) pour l'abonnement par défaut).

  • Vous ne pouvez pas 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 spécifique.

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

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, vous pouvez appeler setDefaultSubscribeAllRemoteVideosStreams(false) avant de rejoindre la réunion afin d'annuler cette configuration par défaut.

Paramètres

Parameter

Type

Description

sub

boolean

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

  • true (par défaut) : Reprendre.

  • false : Arrêter.

Valeur de retour

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

subscribeRemoteMediaStream[1/2]

Arrête 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 fusionne l'abonnement aux flux audio et vidéo distants.

Remarque

Dans cette interface, la valeur AliRtcVideoTrackNo de AliRtcVideoTrack n'est pas valide et son paramétrage n'a aucun effet.

Interfaces 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 les deux paramètres booléens subVideo et subAudio pour déterminer s'il faut s'abonner aux flux audio et vidéo distants, tandis que le paramètre videoTrack contrôle quel flux vidéo extraire.

Paramètres

Parameter

Type

Description

uid

String

ID de l'utilisateur distant.

videoTrack

AliRtcVideoTrack

Type de flux vidéo.

subVideo

boolean

Arrête ou reprend l'extraction du flux vidéo d'un utilisateur distant spécifique. Valeurs possibles :

  • true (par défaut) : Reprendre.

  • false : Arrêter.

subAudio

boolean

Arrête ou reprend l'extraction du flux audio d'un utilisateur distant spécifique. Valeurs possibles :

  • true (par défaut) : Reprendre.

  • false : Arrêter.

Valeur de retour

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

subscribeRemoteMediaStream[2/2]

Arrête/reprend l'abonnement aux flux audio et vidéo d'un utilisateur distant.

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

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

Interfaces associées

Par rapport à subscribeRemoteMediaStream[1/2], cette interface utilise un seul appel avec les paramètres videoTrack et audioTrack pour informer le SDK de l'état d'abonnement souhaité. Par exemple :

  • Si vous souhaitez vous abonner aux flux de la caméra et du microphone, définissez videoTrack sur AliRtcVideoTrackCamera et audioTrack sur AliRtcAudioTrackMic lors de l'appel.

  • Si vous souhaitez vous désabonner du flux de la caméra tout en conservant celui du microphone, définissez videoTrack sur AliRtcVideoTrackNo et audioTrack sur AliRtcAudioTrackMic lors d'un nouvel appel à la méthode.

  • Pour annuler les deux, définissez respectivement videoTrack et audioTrack sur AliRtcVideoTrackNo et AliRtcAudioTrackNo dans un appel ultérieur.

  • Pour vous abonner simultanément au flux de la caméra et au flux de partage d'écran, définissez videoTrack sur AliRtcVideoTrackBoth. La même logique s'applique à l'audio.

Paramètres

Parameter

Type

Description

uid

String

ID utilisateur, identifiant unique attribué par le serveur de l'application.

videoTrack

AliRtcVideoTrack

Type de flux vidéo.

audioTrack

AliRtcAudioTrack

Type de flux audio.

Valeur de retour

  • 0 : Succès.

  • <0 : Échec.

subscribeRemoteDestChannelStream

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

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

Paramètres

Parameter

Type

Description

channelId

String

ID du canal distant.

uid

String

ID de l'utilisateur distant.

track

AliRtcVideoTrack

Flux vidéo auquel s'abonner.

sub_audio

boolean

Arrête ou reprend l'extraction du flux audio d'un utilisateur distant spécifique. Valeurs possibles :

  • true (par défaut) : Reprendre.

  • false : Arrêter.

sub

boolean

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

Valeur de retour

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

subscribeRemoteDestChannelAllStream

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

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

Paramètres

Paramètre

Type

Description

channelId

String

ID du canal cible distant.

videoTrack

AliRtcVideoTrack

Type de flux vidéo auquel s'abonner.

sub_audio

boolean

Indique s'il faut s'abonner aux flux audio des utilisateurs distants.

  • true : s'abonne aux flux audio des utilisateurs du canal cible.

  • false : arrête l'abonnement aux flux audio des utilisateurs du canal cible.

sub

boolean

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

  • true : s'abonne.

  • false : se désabonne.

Valeur de retour

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

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

setRemoteAudioVolume

Ajuste le volume de lecture d'un flux extrait.

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

Cette interface permet à l'utilisateur local d'ajuster le volume de lecture du flux audio d'un utilisateur spécifié sur l'appareil local.

Remarque

Ce paramètre affecte uniquement l'expérience d'écoute sur l'appareil local.

Paramètres

Paramètre

Type

Description

uid

String

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

volume

int

Volume de lecture. La plage est [0, 100].

  • 0 : muet.

  • 100 : volume d'origine.

Valeur de retour

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

  • Valeur non nulle : l'appel de méthode a échoué. Par exemple, la valeur du volume n'est pas valide.

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 consiste à envoyer des trames silencieuses dans le flux audio. Les modules de collecte et d'encodage continuent de fonctionner.

Quand appeler

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

Rappels 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 si cet utilisateur est en sourdine.

Paramètres

Paramètre

Type

Description

mute

boolean

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

  • true : envoie des trames silencieuses pour l'audio local.

  • false (par défaut) : reprend.

mode

AliRtcMuteLocalAudioMode

Mode de sourdine. Le mode par défaut est la sourdine du microphone.

Valeur de retour

0 indique que l'appel de méthode a réussi. Toute autre valeur indique un échec. La mise en sourdine envoie uniquement des trames silencieuses pour les données audio. Les modules de collecte et d'encodage continuent de fonctionner.

muteRemoteAudioPlaying

Arrête ou reprend la lecture audio distante.

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

Cette API sert uniquement à arrêter ou reprendre la lecture de l'audio d'un utilisateur distant spécifié. Elle n'affecte pas l'extraction 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>.

Quand appeler

Vous pouvez définir ce paramètre avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

uid

String

ID utilisateur.

mute

boolean

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

  • true : arrête la lecture.

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

Valeur de retour

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

muteAllRemoteAudioPlaying

Arrête ou reprend toute la lecture audio distante.

public abstract int muteAllRemoteAudioPlaying(boolean mute);

Cette méthode arrête ou reprend toute la lecture audio distante.

Remarque

Cette méthode arrête uniquement la lecture. L'extraction et le décodage des flux ne sont pas affectés.

Quand appeler

Vous pouvez définir ce paramètre avant ou après avoir rejoint un canal.

Paramètres

Paramètre

Type

Description

mute

boolean

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

  • true : arrête la lecture.

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

Valeur de retour

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

startAudioCapture[1/2]

Active la capture audio.

public abstract int startAudioCapture();

Cette interface permet de démarrer la capture audio. Vous pouvez l'appeler avant de rejoindre une réunion pour anticiper le démarrage de la capture. Si vous n'appelez pas cette interface, le SDK gère automatiquement le périphérique de capture audio. Pour redémarrer la capture audio après l'avoir arrêtée via stopAudioCapture, appelez cette interface.

Quand appeler

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

Interfaces associées

<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 avoir quitté une réunion.

Rappels associés

Après avoir appelé cette méthode pour modifier l'état de la collecte audio locale, vous pouvez obtenir le changement d'état via le rappel onLocalAudioStateChanged.

Valeur de retour

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

startAudioCapture[2/2]

Active la capture audio.

public abstract int startAudioCapture(boolean keepAlive);

La mise en sourdine désactive la capture du microphone.

Cette méthode contrôle l'activation de la collecte audio. Vous pouvez également l'appeler avant de rejoindre un canal pour activer la collecte audio par anticipation. Si vous ne définissez pas ce paramètre, le SDK gère automatiquement le périphérique de collecte audio.

Quand appeler

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

Interfaces associées

Par rapport à startAudioCapture[1/2], cette API vous permet d'utiliser le paramètre keepAlive pour contrôler si le périphérique de capture reste actif après avoir quitté la session.

Rappels associés

Après avoir appelé cette méthode pour modifier l'état de la collecte audio locale, vous pouvez obtenir le changement d'état via le rappel onLocalAudioStateChanged.

Paramètres

Paramètre

Type

Description

keepAlive

boolean

État du périphérique de collecte après avoir quitté le canal. Valeurs valides :

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

  • false (par défaut) : le périphérique de collecte est désactivé après avoir quitté le canal.

Valeur de retour

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

stopAudioCapture

Désactive la capture audio.

public abstract int stopAudioCapture();

Le SDK active la capture audio par défaut. Sans configuration spécifique, des actions telles que le démarrage d'un aperçu ou la jonction d'un canal lancent automatiquement la capture audio. Pour arrêter la collecte du périphérique audio, appelez cette méthode.

Rappels associés

Après avoir appelé cette méthode pour modifier l'état de la collecte audio locale, vous pouvez obtenir le changement d'état via le rappel onLocalAudioStateChanged.

Valeur de retour

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

setDefaultAudioRoutetoSpeakerphone

Définit si la sortie audio par défaut est le haut-parleur.

public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeakerphone);

Cette méthode définit le périphérique de routage audio par défaut avant de rejoindre un canal. Vous pouvez choisir de sortir par défaut vers l'écouteur ou le haut-parleur. Le SDK utilise le haut-parleur par défaut. Si vous souhaitez modifier cette configuration par défaut, appelez cette méthode avant de rejoindre un canal.

La priorité de routage audio est prédéfinie dans le SDK et bascule automatiquement en fonction de l'état de connexion des périphériques externes. L'ordre de priorité est le suivant : Casque filaire > Casque Bluetooth > Paramètres utilisateur > Paramètres par défaut. Par conséquent, si aucun périphérique externe n'est connecté et que la route audio n'est pas définie à l'aide de enableSpeakerphone, les paramètres par défaut sont utilisés.

Pour plus d'informations sur les paramètres de routage audio, consultez Paramètres de routage audio.

Les appareils mobiles disposent généralement de deux périphériques de routage audio : l'écouteur et le haut-parleur.

  • Lorsque la route audio est l'écouteur, le son est plus faible et ne peut être entendu clairement que lorsque l'oreille est proche. Cela offre une meilleure confidentialité et convient pour répondre aux appels.

  • Lorsque la route audio est le haut-parleur, le son est plus fort et peut être entendu sans tenir le téléphone près du visage, permettant ainsi une fonction « mains libres ».

Interfaces associées

Cette API permet de modifier les paramètres de routage audio par défaut. L'API enableSpeakerphone sert à définir le périphérique de routage actuel.

Quand appeler

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

Paramètres

Paramètre

Type

Description

defaultToSpeakerphone

boolean

Indique s'il faut utiliser le haut-parleur par défaut.

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

  • false : mode écouteur.

Valeur de retour

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

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

enableSpeakerphone

Définit la sortie audio sur l'écouteur ou le haut-parleur.

public abstract int enableSpeakerphone(boolean enable);

Cette méthode définit le périphérique de lecture audio actuel après avoir rejoint un canal, en choisissant entre l'écouteur et le haut-parleur. Si cette fonctionnalité n'est pas définie, le périphérique défini par le routage audio par défaut est utilisé pour la lecture.

La priorité de routage audio est prédéfinie dans le SDK et bascule automatiquement en fonction de l'état de connexion des périphériques externes. La priorité est la suivante : Casque filaire > Casque Bluetooth > Paramètres utilisateur > Paramètres par défaut. Par conséquent, lorsqu'un périphérique externe est connecté, cet appel d'API n'a aucun effet. Pour plus d'informations sur les paramètres de routage audio, consultez Paramètres de routage audio.

Quand appeler

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

Interfaces 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. Cette API définit le périphérique de routage actuel.

Paramètres

Paramètre

Type

Description

enable

boolean

Définit la sortie audio sur l'écouteur ou le haut-parleur. Valeurs valides :

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

  • false : mode écouteur.

Valeur de retour

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

isSpeakerOn

Indique si la sortie audio actuelle est l'écouteur ou le haut-parleur.

public abstract boolean isSpeakerOn();

Valeur de retour

true : Haut-parleur. false : Écouteur.

enableAudioVolumeIndication

Active l'indication du volume audio des utilisateurs.

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

Cette interface permet au SDK de signaler périodiquement à votre application les informations relatives au volume de l'utilisateur local qui publie un flux et de l'utilisateur distant présentant le volume instantané le plus élevé. Pour utiliser cette fonctionnalité, implémentez la classe AliRtcAudioVolumeObserver et appelez l'interface registerAudioVolumeObserver pour enregistrer l'objet récepteur.

Quand appeler

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

Rappels associés

Après un appel réussi à cette méthode, si des utilisateurs publiant des flux sont présents dans le canal, le SDK déclenche les deux rappels suivants à l'intervalle défini :

  • Le volume audio de l'orateur est notifié via le rappel AliRtcAudioVolumeObserver#onAudioVolume. La fréquence du rappel est déterminée par l'intervalle.

  • Détection d'activité vocale. Lorsqu'un utilisateur actif est détecté, l'UID de l'orateur est renvoyé via le rappel AliRtcAudioVolumeObserver#onActiveSpeaker.

Paramètres

Parameter

Type

Description

interval

int

Intervalle de temps.

  • Unité : ms.

  • Valeur par défaut : 300 ms.

  • Plage : valeur minimale ≥ 10 ms. Nous vous recommandons de définir une valeur comprise entre 300 ms et 500 ms. Une valeur ≤ 0 désactive les fonctionnalités d'indication du volume et du haut-parleur.

smooth

int

Coefficient de lissage. Une valeur plus élevée indique un degré de lissage plus important, tandis qu'une valeur plus faible signifie un degré de lissage moins élevé et de meilleures performances en temps réel.

  • Valeur par défaut : 3.

  • Plage : 0 à 9. Nous vous recommandons de définir la valeur sur 3.

reportVad

int

Interrupteur de détection d'activité vocale locale.

Valeur de retour

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

enableEarBack

Active la surveillance intra-auriculaire.

public abstract int enableEarBack(boolean enable);

Cette méthode active ou désactive la fonctionnalité de surveillance intra-auriculaire. Nous vous recommandons d'activer la surveillance intra-auriculaire lorsque vous portez un casque (filaire ou Bluetooth) pour obtenir de meilleurs résultats.

Quand appeler

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

Paramètres

Parameter

Type

Description

enable

boolean

Indique s'il faut activer la surveillance intra-auriculaire. Valeurs valides :

  • true : Activer la surveillance intra-auriculaire.

  • false (par défaut) : Désactiver la surveillance intra-auriculaire.

Valeur de retour

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

setEarBackVolume

Définit le volume de la surveillance intra-auriculaire.

public abstract int setEarBackVolume(int volume) ;

Cette méthode définit le volume de la surveillance intra-auriculaire. Elle ne prend effet qu'après avoir activé la fonctionnalité de surveillance intra-auriculaire en appelant enableEarBack.

Quand appeler

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

Paramètres

Parameter

Type

Description

volume

int

Volume. La plage est [0, 100]. La valeur par défaut est 100.

  • 0 : Mise en sourdine.

  • 100 : (Par défaut) Volume d'origine.

Valeur de retour

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

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

startAudioPlayer

Active le dispositif de lecture audio.

public abstract int startAudioPlayer();

Cette méthode permet de contrôler l'activation anticipée de la lecture audio. Si vous ne configurez pas cette option, le SDK active automatiquement la lecture audio après l'abonnement à un flux audio.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

stopAudioPlayer

Désactive le dispositif de lecture audio.

 public abstract int stopAudioPlayer();

Cette méthode arrête la lecture audio et correspond à startAudioPlayer.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

setPlayoutVolume

Définit le volume de lecture local.

public abstract int setPlayoutVolume(int volume);

Paramètres

Parameter

Type

Description

volume

int

Volume de lecture. La plage est [0, 400].

  • 0 : Mise en sourdine.

  • 100 : Volume d'origine.

  • >100 : Augmentation du volume.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec.

setRecordingVolume

Définit le volume d'enregistrement.

public abstract int setRecordingVolume(int volume);

Paramètres

Parameter

Type

Description

volume

int

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

  • 0 : Mise en sourdine.

  • 100 : Volume d'origine.

  • >100 : Augmentation du volume.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec.

playAudioFileTest

Lit un fichier audio.

public abstract int playAudioFileTest(String filePath) ;

Cette méthode lit un fichier audio avant de rejoindre un canal afin de tester la lecture audio.

Quand appeler

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

Limites

Les appels multiples se remplacent mutuellement. Un nouvel appel arrête tout fichier en cours de lecture.

Paramètres

Parameter

Type

Description

filePath

filePath

Chemin du fichier.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec.

stopAudioFileTest

Arrête la lecture du fichier audio.

public abstract int stopAudioFileTest();

Cette méthode correspond à playAudioFileTest et arrête la lecture du fichier audio.

Limites

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

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec.

startAudioCaptureTest

Active la détection du dispositif de capture audio avant un appel.

public abstract int startAudioCaptureTest();

Vous pouvez utiliser cette méthode pour démarrer un test de capture audio afin de vérifier si votre dispositif de capture audio local fonctionne correctement avant un appel. Après avoir appelé cette méthode, le SDK vous signale les informations de volume du dispositif de capture via le rappel AliRtcAudioVolumeObserver::OnTestAudioVolume.

Quand appeler

Appelez cette méthode avant de rejoindre un canal. Une fois le test terminé, assurez-vous d'appeler stopAudioCaptureTest pour arrêter la détection du dispositif et éviter les problèmes liés à l'occupation du dispositif.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

stopAudioCaptureTest

Désactive la détection de la capture audio.

public abstract int stopAudioCaptureTest();

Cette méthode arrête la détection du dispositif de capture audio. Vous devez appeler cette méthode pour arrêter le test après avoir appelé startAudioCaptureTest.

Quand appeler

Appelez cette méthode avant de rejoindre un canal.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

setAudioEffectVoiceChangerMode

Définit le mode d'effet de modification de la voix.

public abstract int setAudioEffectVoiceChangerMode(AliRtcAudioEffectVoiceChangerMode mode);

Paramètres

Parameter

Type

Description

mode

AliRtcAudioEffectVoiceChangerMode

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

Valeur de retour

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

setAudioEffectPitchValue

Définit le paramètre de transposition de hauteur.

public abstract int setAudioEffectPitchValue(double value);

Paramètres

Parameter

Type

Description

value

double

La plage de paramètres est [0,5, 2,0]. La valeur par défaut est 1,0, ce qui signifie que la hauteur reste inchangée.

Valeur de retour

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

setAudioEffectReverbMode

Définit le mode d'effet de réverbération.

public abstract int setAudioEffectReverbMode(AliRtcAudioEffectReverbMode mode);

Paramètres

Parameter

Type

Description

mode

AliRtcAudioEffectReverbMode

Mode d'effet de réverbération. La valeur par défaut est AliRtcAudioEffectReverb_Off (désactivé).

Valeur de retour

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

setAudioEffectReverbParamType

Définit le type d'effet de réverbération et les paramètres spécifiques.

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

Paramètres

Parameter

Type

Description

type

AliRtcAudioEffectReverbParamType

Paramètre d'effet de réverbération.

value

float

Valeur spécifique du paramètre.

Valeur de retour

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

setAudioEffectBeautifyMode

Définit le mode d'effet prédéfini d'embellissement vocal.

public abstract int setAudioEffectBeautifyMode(AliRtcAudioEffectBeautifyMode mode);

Cette méthode définit certains modes d'embellissement vocal prédéfinis au sein du SDK. Elle convient aux scénarios nécessitant un embellissement vocal, tels que le streaming vocal en direct, le karaoké et les réseaux sociaux vocaux. En sélectionnant différents modes d'embellissement, vous pouvez modifier l'effet auditif de la voix humaine, par exemple en renforçant le magnétisme ou en améliorant la clarté, ce qui améliore l'expérience d'écoute des utilisateurs distants.

Quand appeler

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

Paramètres

Parameter

Type

Description

mode

AliRtcAudioEffectBeautifyMode

Mode d'effet d'embellissement vocal. Consultez la définition de l'énumération pour plus de détails.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec.

setAudioEffectEqualizationParam

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

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

Cette méthode ajuste l'égaliseur graphique pour les signaux audio ou vocaux capturés localement. En ajustant le gain (en dB) de l'une des 10 bandes de fréquences fixes, vous pouvez personnaliser le timbre. Elle convient à des scénarios tels que l'optimisation de la clarté vocale, l'amélioration de la voix humaine et l'aide à la réduction du bruit.

L'égaliseur prend en charge l'ajustement de tout le spectre audio, de 31 Hz à 16 kHz, avec un total de 10 bandes de fréquences standard. Le gain de chaque bande peut être défini indépendamment, dans une plage allant de -15 à 15 dB, avec une valeur par défaut de 0 dB (ni amplification ni atténuation).

Limites

  • Vous ne pouvez pas utiliser l'égaliseur avant d'avoir activé le mode d'embellissement. Vous devez appeler cette interface après avoir appelé setAudioEffectBeautifyMode.

Paramètres

Paramètre

Type

Description

bandIndex

AliRtcAudioEffectEqualizationBandFrequency

L'index de la bande de fréquence à ajuster, correspondant à un segment de la fréquence centrale (31 Hz à 16 kHz).

gain

float

Valeur du gain en dB. La plage est [-15, 15].

Valeur de retour

0 : Succès.

Valeur non nulle : Échec.

addExternalAudioStream

Ajoute un flux audio externe.

public abstract int addExternalAudioStream(AliRtcExternalAudioStreamConfig config);

Cette méthode ajoute un nouveau flux audio externe. Les étapes sont les suivantes :

  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 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="d3deb62b2fl0f">pushExternalAudioStreamRawData</a> pour pousser les données audio vers le flux audio créé.

  3. Lorsque l'appel se termine, 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.

Pour publier de l'audio collecté de manière personnalisée dans un canal, consultez Collecte audio personnalisée.

Paramètres

Paramètre

Type

Description

config

AliRtcExternalAudioStreamConfig

Configuration du flux audio externe.

Valeur de retour

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

pushExternalAudioStreamRawData

Injecte des données de flux audio externe.

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

Cette méthode injecte des données dans un flux audio spécifié. Les étapes sont les suivantes :

  1. Appelez l'API <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 pousser les données audio dans le flux audio créé.

  3. Lorsque l'appel se termine, vous devez appeler <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 de l'audio collecté de manière personnalisée dans un canal, consultez Collecte audio personnalisée.

Quand appeler

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.

Valeur de retour

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

setExternalAudioStreamPublishVolume

Définit le volume d'ingestion du 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 d'ingestion. La plage est [0, 100].

Valeur de retour

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

getExternalAudioStreamPublishVolume

Obtient le volume d'ingestion du flux audio externe.

public abstract int getExternalAudioStreamPublishVolume(int streamId);

Paramètres

Paramètre

Type

Description

streamId

int

ID du flux audio externe.

Valeur de retour

[0, 100] Volume d'ingestion. < 0 : Échec.

setExternalAudioStreamPlayoutVolume

Définit le volume de lecture du 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. La plage est [0, 100].

Valeur de retour

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

getExternalAudioStreamPlayoutVolume

Obtient 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.

Valeur de retour

[0, 100] Volume de lecture. Une valeur < 0 indique un échec.

removeExternalAudioStream

Supprime un flux audio externe.

public abstract int removeExternalAudioStream(int streamId);

Cette méthode supprime le flux audio externe correspondant en fonction du streamId fourni. Elle correspond à la méthode addExternalAudioStream.

Quand appeler

Si vous souhaitez utiliser la fonctionnalité d'entrée audio personnalisée, vous devez appeler la méthode addExternalAudioStream pour ajouter un flux audio et obtenir l'ID du flux audio externe. Ensuite, appelez la méthode pushExternalAudioStreamRawData pour injecter vos données audio dans le SDK. Lorsque vous souhaitez arrêter l'entrée audio personnalisée, appelez cette méthode pour supprimer le flux audio externe correspondant et libérer les ressources.

Paramètres

Paramètre

Type

Description

streamId

int

ID du flux audio externe. Il s'agit de la valeur de retour lorsque la méthode addExternalAudioStream est appelée avec succès.

Valeur de retour

  • 0 : Succès.

  • <0 : Échec. Un code d'erreur est renvoyé.

getAudioFileInfo

Obtient les informations sur un fichier audio.

public abstract int getAudioFileInfo(String fileName);

Vous pouvez appeler cette API asynchrone pour obtenir les informations de durée d'un fichier. Vous pouvez obtenir les informations sur le fichier audio via onAudioFileInfo.

Paramètres

Paramètre

Type

Description

fileName

String

Chemin du fichier audio.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Un code d'erreur est renvoyé.

startAudioAccompany

Démarre le mixage d'accompagnement.

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

Cette méthode lit un fichier d'accompagnement local ou en ligne. Il s'agit d'une méthode asynchrone. Après avoir appelé cette méthode, vous pouvez écouter l'état de la lecture de l'accompagnement via AliRtcEngineNotify#onAudioAccompanyStateChanged.

Quand appeler

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

Limites

Contrairement aux effets sonores, un seul accompagnement peut être lu à la fois. Des appels répétés écraseront la lecture de l'accompagnement précédent.

Paramètres

Paramètre

Type

Description

fileName

String

Chemin du fichier d'accompagnement.

config

AliRtcAudioAccompanyConfig

Configuration de la lecture de l'accompagnement, incluant si la lecture est locale uniquement, si elle remplace le microphone, le nombre de boucles, la position de départ, le volume et d'autres paramètres.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

stopAudioAccompany

Arrête le mixage d'accompagnement.

public abstract int stopAudioAccompany() ;

Cette méthode correspond à startAudioAccompany et arrête la lecture de l'accompagnement.

Quand appeler

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

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

setAudioAccompanyVolume

Définit le volume de l'accompagnement, y compris le volume de lecture local et le volume d'ingestion.

public abstract int setAudioAccompanyVolume( int volume) ;

Cette méthode définit le volume de l'accompagnement pour la lecture locale et l'ingestion de flux. De plus, setAudioAccompanyPlayoutVolume et setAudioAccompanyPublishVolume définissent respectivement uniquement le volume de lecture local et le volume d'ingestion du flux d'accompagnement.

Paramètres

Paramètre

Type

Description

volume

int

Volume de l'accompagnement. La plage est [0, 100].

0 : Muet.

100 : Volume du fichier original.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

setAudioAccompanyPublishVolume

Définit le volume d'ingestion de l'accompagnement.

public abstract int setAudioAccompanyPublishVolume(int volume) ;

Paramètres

Paramètre

Type

Description

volume

int

Volume de l'accompagnement. La plage est [0, 100].

0 : Muet.

100 : Volume du fichier original.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

getAudioAccompanyPublishVolume

Obtient le volume d'ingestion de l'accompagnement.

public abstract int getAudioAccompanyPublishVolume() ;

Valeur de retour

Le volume d'ingestion de la musique d'accompagnement.

  • [0-100] : Succès.

  • Autre : Code d'erreur.

setAudioAccompanyPlayoutVolume

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

public abstract int setAudioAccompanyPlayoutVolume(int volume) ;

Paramètres

Paramètre

Type

Description

volume

int

Volume de l'accompagnement. La plage est [0, 100].

0 : Muet.

100 : Volume du fichier original.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

getAudioAccompanyPlayoutVolume

Obtient le volume de lecture local de l'accompagnement.

public abstract int getAudioAccompanyPlayoutVolume() ;

Valeur de retour

Le volume de lecture local de la musique d'accompagnement.

  • [0-100] : Succès.

  • Autre : Code d'erreur.

pauseAudioAccompany

Met en pause le mixage d'accompagnement.

public abstract int pauseAudioAccompany();

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

resumeAudioAccompany

Reprend le mixage d'accompagnement.

public abstract int resumeAudioAccompany();

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

getAudioAccompanyDuration

Obtient la durée du fichier d'accompagnement, en millisecondes.

public abstract int getAudioAccompanyDuration();

Cette méthode permet d'obtenir la durée du fichier d'accompagnement audio actuel.

Valeur de retour

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

  • <0 : Échec. Un code d'erreur est renvoyé.

getAudioAccompanyCurrentPosition

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

public abstract int getAudioAccompanyCurrentPosition();

Cette méthode permet d'obtenir la progression de la lecture du fichier d'accompagnement audio actuel, exprimée en millisecondes.

Valeur de retour

  • >=0 : Progression de la lecture du fichier d'accompagnement.

  • <0 : Échec. Un code d'erreur est renvoyé.

setAudioAccompanyPosition

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

public abstract int setAudioAccompanyPosition(int posMs);

Cette méthode permet de définir manuellement la progression de la lecture de l'accompagnement, par exemple pour faire glisser une barre de progression. Une fois cette méthode appelée avec succès, le fichier d'accompagnement reprendra la lecture à partir de la position posMs indiquée.

Paramètres

Paramètre

Type

Description

posMs

int

Position sur la barre de progression, en millisecondes.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

preloadAudioEffect

Précharge un fichier d'effet sonore.

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

Paramètres

Paramètre

Type

Description

soundId

int

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

filePath

String

Chemin d'accès au fichier d'effet sonore.

Valeur de retour

La valeur 0 indique que l'appel de méthode a réussi. 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é au fichier d'effet sonore par l'utilisateur.

Valeur de retour

La valeur 0 indique que l'appel de méthode a réussi. Toute autre valeur indique 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é au fichier d'effet sonore par l'utilisateur.

filePath

String

Chemin d'accès au fichier d'effet sonore.

cycles

int

Nombre de boucles. La valeur -1 signifie une boucle infinie.

publish

boolean

Indique si le flux audio de l'effet sonore doit être publié auprès des utilisateurs distants. Valeurs possibles :

  • true : Publie le flux audio de l'effet sonore auprès des utilisateurs distants.

  • false (par défaut) : Ne publie pas le flux audio de l'effet sonore auprès des utilisateurs distants.

Valeur de retour

La valeur 0 indique que l'appel de méthode a réussi. Toute autre valeur indique 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é au fichier d'effet sonore par l'utilisateur.

Valeur de retour

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

stopAllAudioEffects

Arrête la lecture de tous les effets sonores.

public abstract int stopAllAudioEffects();

Valeur de retour

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

setAudioEffectPublishVolume

Définit le volume de mixage d'ingestion pour l'effet sonore.

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

Paramètres

Paramètre

Type

Description

soundId

int

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

volume

int

Volume de mixage. La plage va de 0 à 100. La valeur par défaut est 50.

Valeur de retour

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

getAudioEffectPublishVolume

Récupère le volume d'ingestion de l'effet sonore.

public abstract int getAudioEffectPublishVolume(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

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

Valeur de retour

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

setAudioEffectPlayoutVolume

Définit le volume de lecture local d'un effet sonore.

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

Paramètres

Paramètre

Type

Description

soundId

int

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

volume

int

Volume de mixage. La plage va de 0 à 100. La valeur par défaut est 50.

Valeur de retour

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

getAudioEffectPlayoutVolume

Récupère le volume de lecture local d'un effet sonore (Android et iOS).

public abstract int getAudioEffectPlayoutVolume(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

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

Valeur de retour

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

setAllAudioEffectsPublishVolume

Définit le volume de mixage d'ingestion pour tous les effets sonores.

public abstract int setAllAudioEffectsPublishVolume(int volume);

Paramètres

Paramètre

Type

Description

volume

int

Volume de mixage. La plage va de 0 à 100. La valeur par défaut est 50.

Valeur de retour

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

setAllAudioEffectsPlayoutVolume

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

public abstract int setAllAudioEffectsPlayoutVolume(int volume);

Paramètres

Paramètre

Type

Description

volume

int

Volume de mixage. La plage va de 0 à 100. La valeur par défaut est 50.

Valeur de retour

La valeur 0 indique que l'appel de méthode a réussi. Toute autre valeur indique 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

TRUE : Succès. Autre valeur : Échec.

Remarque
  • Lorsque vous enregistrez un flux vidéo, appelez cette API après la réussite de l'ingestion du flux (onVideoPublishStateChanged). Cette API enregistre le flux vidéo encodé localement et le sauvegarde en local.

  • Lors de l'enregistrement d'un flux audio, le fichier enregistré est un mélange des flux audio locaux et distants.

stopRecord

Arrête l'enregistrement d'un fichier multimédia.

  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é au fichier d'effet sonore par l'utilisateur.

Valeur de retour

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

pauseAllAudioEffects

Met en pause tous les effets sonores.

public abstract int pauseAllAudioEffects();

Valeur de retour

La valeur 0 indique que l'appel de méthode a réussi. Toute autre valeur indique 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é au fichier d'effet sonore par l'utilisateur.

Valeur de retour

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

resumeAllAudioEffects

Reprend la lecture de tous les effets sonores.

public abstract int resumeAllAudioEffects();

Valeur de retour

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

createRenderSurfaceView

Crée une vue de rendu SurfaceView.

public abstract SophonSurfaceView createRenderSurfaceView(Context context);

Vous devez appeler cette méthode pour afficher la vue vidéo, au lieu de créer directement une SurfaceView. La méthode d'appel est la suivante :

  • Attribuez la valeur de retour à AliRtcVideoCanvas#view.

  • Appelez setLocalViewConfig pour définir la vue d'affichage de l'aperçu local ou appelez setRemoteViewConfig pour définir la vue d'affichage de l'aperçu distant.

Quand appeler

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

Limites

Appelez cette méthode dans le thread principal.

Paramètres

Paramètre

Type

Description

context

Context

Contexte de l'activité Android.

setLocalViewConfig

Définit 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 permet de configurer la vue d'aperçu local. L'appel de cette méthode associe la fenêtre d'affichage (vue) au flux vidéo local et définit les paramètres de l'affichage de l'utilisateur local, tels que le mode de rendu, le mode miroir et l'angle de rotation. Elle n'affecte que l'écran d'aperçu de l'utilisateur local et n'influence pas le flux vidéo publié. Pour configurer la vue de l'interface utilisateur distante, appelez setRemoteViewConfig.

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

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

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

  • Nous vous recommandons d'appeler explicitement startPreview() pour démarrer l'aperçu local.

Quand appeler

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 la méthode de rendu.

track

AliRtcVideoTrack

Type de flux vidéo.

Valeur de retour

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

setRemoteViewConfig

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

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

Cette méthode associe une vue d'affichage à un flux vidéo spécifique provenant d'un utilisateur distant et configure les paramètres d'affichage de la vue distante, tels que le mode de rendu, le mode miroir et l'angle de rotation. Cela affecte uniquement l'image vidéo visible par l'utilisateur local. Pour configurer la vue d'aperçu local, appelez setLocalViewConfig.

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

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

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

Quand appeler

Nous vous recommandons d'appeler cette méthode lorsque vous recevez le rappel onRemoteTrackAvailableNotify, c'est-à-dire lorsque la vidéo de l'utilisateur distant est disponible.

Paramètres

Paramètre

Type

Description

canvas

AliRtcVideoCanvas

Paramètres de rendu, incluant la fenêtre de rendu et la méthode de rendu.

uid

String

ID utilisateur.

track

AliRtcVideoTrack

Type de flux vidéo à configurer.

Valeur de retour

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

setCameraCapturerConfiguration

Configure les préférences de capture de la caméra.

public abstract int setCameraCapturerConfiguration(AliEngineCameraCapturerConfiguration cameraCapturerConfiguration);

Cette méthode 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 capturées.

Quand appeler

Vous devez définir cette configuration avant d'activer la caméra. Par exemple, appelez-la avant les opérations suivantes :

  • startPreview (démarrer l'aperçu)

  • joinChannel (rejoindre le canal)

Paramètres

Paramètre

Type

Description

cameraCapturerConfiguration

AliEngineCameraCapturerConfiguration

Préférences de capture de la caméra, incluant l'orientation de la caméra, la fréquence d'images, etc. 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 sélectionne la résolution la plus proche de la résolution de publication, en privilégiant les performances de l'appareil.

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

  • fps : -1 indique l'utilisation du 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 spécifique pour la capture vidéo.

  • disableVideoCaptureReverse : ne pas inverser l'image vidéo capturée en fonction du paramètre de ratio d'aspect. -1 : par défaut. 0 : non effectif. 1 : effectif.

  • captureObserverOriginal : indique si les données originales de l'image vidéo sont renvoyées via le rappel. -1 : par défaut. 0 : désactivé. 1 : activé.

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

  • cameraTextureCapture : indique si la caméra active la capture de texture. -1 : par défaut. 0 : désactivé. 1 : activé.

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

Valeur de retour

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 contrôle l'activation et la désactivation de la capture vidéo locale. Lorsque la capture vidéo locale est désactivée, ni l'aperçu local ni le flux publié ne contiennent de données vidéo, mais cela n'affecte pas la réception des vidéos distantes. Si vous appelez cette méthode pour désactiver la capture de la caméra locale, l'aperçu local et le flux publié distant se figeront sur la dernière image.

Remarque

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

Quand appeler

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

Rappels associés

Après un appel réussi de cette méthode, l'utilisateur distant est notifié via le rappel onUserVideoEnabled.

Paramètres

Paramètre

Type

Description

enable

boolean

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

  • true (par défaut) : réactiver.

  • false : désactiver.

Valeur de retour

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

muteLocalCamera

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

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

Lors de la publication d'un flux, vous pouvez appeler cette méthode pour publier 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 est remplacé par des images noires.

Remarque

Vous pouvez appeler cette méthode pour contrôler l'envoi d'images noires sur un flux vidéo spécifique. Cela n'affecte pas les processus de capture et de transmission des données. Pour désactiver la capture, appelez la méthode enableLocalVideo. Pour arrêter l'envoi des données vidéo, appelez la méthode 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 collection.

Paramètres

Paramètre

Type

Description

mute

boolean

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

  • true : arrêter.

  • false (par défaut) : reprendre.

track

AliRtcVideoTrack

Type de flux vidéo dont l'état de publication doit être modifié.

Valeur de retour

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

isCameraOn

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

public abstract boolean isCameraOn();

Valeur de retour

true : la caméra est activée. false : la caméra n'est pas activée.

setVideoEncoderConfiguration

Configure les propriétés d'encodage vidéo.

public abstract void setVideoEncoderConfiguration(AliRtcVideoEncoderConfiguration config);

Cette méthode définit les paramètres vidéo pour les propriétés d'encodage du flux vidéo, tels 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

Tous les paramètres définis ont des limites de plage correspondantes. Si un paramètre défini se trouve en dehors de la plage valide, le SDK l'ajuste automatiquement.

Quand appeler

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 du flux de la caméra qu'une seule fois par session, nous vous recommandons de l'appeler avant de rejoindre le canal.

Limites

Le mirrorMode de cette méthode et setVideoMirrorMode peuvent tous deux configurer l'effet miroir pour la publication vidéo. Nous vous recommandons d'utiliser une seule de ces méthodes. L'utilisation simultanée de plusieurs méthodes peut entraîner une superposition des effets miroir, provoquant un échec ou une configuration incorrecte de l'effet miroir.

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. Vous devez définir la résolution.

  • frameRate : 15

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

  • keyFrameInterval : intervalle des images clés en millisecondes. La valeur par défaut est 0, ce qui signifie que le SDK le contrôle.

  • forceStrictKeyFrameInterval : indique si l'encodeur doit strictement respecter l'intervalle d'images clés défini. La valeur par défaut est false.

  • mirrorMode : 0

  • orientationMode : 0

  • rotation : 0

  • codecType : AliRtcVideoCodecTypeDefault

  • encoderType : AliRtcVideoEncodeCodecTypeDefault

  • seiForceFrontIFrame : -1

  • enableDynamicEncode : -1

  • disableDipenseResolutionChange : -1

  • enableDowngrade : -1

  • enableH264BFrame : -1

  • enableHevcBFrame : -1

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

setVideoDecoderConfiguration

Configure 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 les propriétés de décodage du flux vidéo.

Quand appeler

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ériel.

  • enableDecoderBframe : -1. Indique s'il faut utiliser les images B. Si cette option est activée, le décodeur disposera d'une file d'attente tampon, augmentant ainsi la latence. Si l'expéditeur a activé les images B, vous devez activer cette option pour assurer un décodage correct.

  • textureBindContext : -1. Indique si la liaison du contexte de décodage de texture est prise en charge.

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

switchCamera

Bascule 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 basculer entre les caméras avant et arrière. La caméra avant est utilisée par défaut. Vous pouvez changer dynamiquement de caméra 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.

Quand appeler

Appelez cette méthode après avoir activé la caméra avec succès.

Limites

Cette fonctionnalité est disponible uniquement sur Android et iOS.

Valeur de retour

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

getCurrentCameraDirection

Obtient l'orientation actuelle de la caméra.

public abstract AliRTCCameraDirection getCurrentCameraDirection();

Valeur de retour

  • Renvoie CAMERA_REAR(0) pour la caméra arrière.

  • Renvoie CAMERA_FRONT(1) pour la caméra avant.

  • Renvoie CAMERA_INVALID(-1) en cas d'erreur.

Remarque

Appelez cette méthode après l'activation de la caméra. Sinon, elle renverra CAMERA_INVALID(-1).

startPreview

Démarre l'aperçu local.

public abstract int startPreview();

Cette méthode lance l'aperçu vidéo local et active automatiquement la caméra. Pour arrêter l'aperçu local, appelez la méthode stopPreview.

Remarque

L'appel à leaveChannel pour quitter un canal arrête automatiquement l'aperçu local. Si vous ne publiez pas de flux caméra, celle-ci est automatiquement désactivée.

Quand appeler

  • Avant d'appeler cette méthode, définissez la vue pour l'aperçu local en appelant setLocalViewConfig. Sinon, l'aperçu ne s'affichera pas, mais cela n'affectera pas la publication.

  • Si nécessaire, vous pouvez appeler cette méthode pour démarrer l'aperçu avant de rejoindre un canal avec joinChannel. La caméra sera activée automatiquement.

Valeur de retour

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

stopPreview

Arrête l'aperçu local.

public abstract int stopPreview();

Cette méthode ferme l'aperçu vidéo local et désactive la caméra. Après l'arrêt de l'aperçu, l'extrémité locale reste sur la dernière image, ce qui n'affecte pas la publication.

Remarque

L'appel à leaveChannel pour quitter un canal arrête automatiquement l'aperçu local. Si vous ne publiez pas de flux caméra, celle-ci est automatiquement désactivée.

Quand appeler

Pour fermer l'aperçu après l'avoir démarré, appelez cette méthode.

Valeur de retour

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

setCameraZoom

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

public abstract int setCameraZoom(float zoom);

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

Limites

Seules les plateformes iOS et Android proposent cette interface.

Quand appeler

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 plage va de 1 à la valeur de zoom maximale prise en charge par la caméra. Vous pouvez obtenir le facteur de zoom maximal pris en charge par l'appareil actuel en appelant GetCameraMaxZoomFactor.

Valeur de retour

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

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

GetCameraMaxZoomFactor

Obtient le facteur de zoom maximal 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

Obtient le paramètre 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 la lumière ambiante est insuffisante ou trop intense, la qualité de la capture vidéo est affectée. Pour améliorer la qualité vidéo, utilisez cette méthode pour ajuster l'exposition de la caméra utilisée. Vous pouvez obtenir la plage d'exposition prise en charge par l'appareil actuel en appelant GetMinExposure et GetMaxExposure.

Paramètres

Paramètre

Type

Description

exposure

float

L'exposition de la caméra. La valeur par défaut est 0, ce qui signifie utiliser l'exposition par défaut de la caméra. Plus la valeur est élevée, plus l'exposition est importante. Si l'image vidéo est surexposée, réduisez le coefficient d'exposition. Si l'image vidéo est sous-exposée, entraînant une perte de détails dans les zones sombres, augmentez le coefficient d'exposition. Si l'exposition transmise se situe en dehors de la plage prise en charge par l'appareil, le SDK l'ajustera automatiquement.

Valeur de retour

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

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

GetCurrentExposure

Obtient l'exposition de la caméra.

public abstract float GetCurrentExposure();

Obtient le paramètre d'exposition de la caméra actuellement utilisée.

Valeur de retour

L'exposition actuelle de la caméra.

GetMinExposure

Obtient l'exposition minimale prise en charge par la caméra.

public abstract float GetMinExposure();

Valeur de retour

L'exposition minimale de la caméra.

GetMaxExposure

Obtient l'exposition maximale prise en charge par la caméra.

public abstract float GetMaxExposure();

Valeur de retour

L'exposition maximale 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

Généralement, seule la caméra arrière dispose d'une fonction flash.

Limites

Seules les plateformes iOS et Android proposent cette interface.

Paramètres

Paramètre

Type

Description

flash

boolean

Indique s'il faut activer le flash.

  • true : Activer le flash.

  • false : Désactiver le flash.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec.

isCameraFocusPointSupported

Vérifie si l'appareil actuel prend en charge la mise au point manuelle.

public abstract boolean isCameraFocusPointSupported();

Vérifie si la caméra actuelle peut définir un point de mise au point pour prendre en charge la fonction de mise au point manuelle.

Limites

Seules les plateformes iOS et Android proposent cette interface.

Valeur de retour

  • true : L'appareil prend en charge la fonction de mise au point manuelle.

  • false : L'appareil ne prend pas en charge la fonction de mise au point manuelle.

isCameraExposurePointSupported

Vérifie si la définition d'un point d'exposition de la caméra est prise en charge.

public abstract boolean isCameraExposurePointSupported();

Vérifie si l'appareil actuel prend en charge la définition d'un point d'exposition.

Limites

Seules les plateformes iOS et Android proposent cette interface.

Valeur de retour

  • true : La définition d'un point d'exposition de la caméra est prise en charge.

  • false : La définition d'un point d'exposition de la caméra n'est pas prise en charge.

setCameraFocusPoint

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

public abstract int setCameraFocusPoint(float x, float y);

Définit le point de mise au point de la caméra actuelle. Après avoir appelé cette méthode, la caméra effectue un ajustement unique de l'exposition sur le point défini, puis maintient cette valeur de mise au point. Avant d'appeler cette méthode, nous vous recommandons d'appeler isCameraFocusPointSupported pour vérifier si l'appareil prend en charge la fonction de mise au point manuelle.

Limites

Seules les plateformes iOS et Android proposent cette interface.

Paramètres

Paramètre

Type

Description

x

float

La coordonnée sur l'axe des x.

y

float

La coordonnée sur l'axe des y.

Valeur de retour

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

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

setCameraExposurePoint

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

public abstract int setCameraExposurePoint(float x, float y);

Définit le point d'exposition de la caméra. Après l'appel de cette méthode, la caméra effectue un ajustement unique de l'exposition sur le point défini et maintient cette valeur d'exposition. Avant d'appeler cette méthode, nous vous recommandons d'appeler isCameraExposurePointSupported pour vérifier si l'appareil prend en charge la fonction de mise au point manuelle.

Limites

Seules les plateformes iOS et Android proposent cette interface.

Paramètres

Paramètre

Type

Description

x

float

La coordonnée sur l'axe des x.

y

float

La coordonnée sur l'axe des y.

Valeur de retour

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

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

isCameraAutoFocusFaceModeSupported

Vérifie si la mise au point automatique sur les visages est prise en charge par la caméra.

public abstract boolean isCameraAutoFocusFaceModeSupported();

Vérifie si la mise au point automatique sur les visages est prise en charge par la caméra.

Quand appeler

Cela prend effet uniquement après l'activation de la caméra. Si la caméra n'est pas activée lors de l'appel, la méthode renvoie false par défaut. Si la caméra est activée et prend en charge à la fois la reconnaissance faciale et les fonctions de mise au point, elle renvoie true.

Limites

Seules les plateformes iOS et Android proposent cette interface.

Valeur de 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);

Appelez cette méthode pour configurer la caméra afin qu'elle fasse la mise au point sur les visages en temps réel. Avant d'appeler cette méthode, appelez isCameraAutoFocusFaceModeSupported pour vérifier que l'appareil prend en charge cette fonctionnalité.

Limites

Seules les plateformes iOS et Android proposent cette interface.

Paramètres

Paramètre

Type

Description

enable

boolean

Active ou désactive la fonction de mise au point sur les visages de la caméra.

  • true : Activer.

  • false : Désactiver.

Valeur de retour

  • true : L'appel a réussi.

  • false : L'appel a échoué.

setVideoMirrorMode

Définit la capacité de mise en miroir vidéo pour l'aperçu et l'ingestion.

public abstract int setVideoMirrorMode(AliRtcVideoPipelineMirrorMode mirrorMode);

Définit s'il faut activer le mode miroir pour la vidéo d'aperçu local et le flux vidéo publié.

Remarque

Cette méthode a une priorité plus élevée que setLocalViewConfig&setVideoEncoderConfiguration. Pour définir le mode miroir vidéo, nous vous recommandons d'appeler cette méthode.

Quand appeler

Vous pouvez définir dynamiquement cette méthode avant et après avoir rejoint un canal. Le SDK enregistre l'état et effectue l'opération vidéo lorsqu'il peut agir sur l'aperçu et l'encodage (publication).

Limites

Cette méthode chevauche le paramètre mirrorMode dans setLocalViewConfig&setVideoEncoderConfiguration. Nous vous recommandons d'utiliser une seule méthode.

Paramètres

Paramètre

Type

Description

mirrorMode

AliRtcVideoPipelineMirrorMode

Définit le mode miroir.

Valeur de retour

  • 0 : Succès.

  • <0 : Échec.

    • AliRtcErrInner : Erreur 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éfinit si la mise à l'échelle des données vidéo capturées se produit immédiatement lors de la capture ou uniquement pendant l'encodage. Par exemple, lorsque la résolution de capture et la résolution d'encodage sont incohérentes, vous pouvez définir le moment de la mise à l'échelle pour déterminer si les données d'aperçu et les données publiées sont cohérentes.

Quand appeler

Appelez cette méthode avant d'activer la caméra, par exemple avant de démarrer un aperçu avec startPreview ou de rejoindre un canal avec joinChannel.

Paramètres

Paramètre

Type

Description

mode

AliRtcCapturePipelineScaleMode

Le mode qui contrôle le moment de la mise à l'échelle de la capture. Par défaut, la mise à l'échelle est effectuée immédiatement lors de la capture.

Valeur de retour

Aucune.

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

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

  • true : Activer.

  • false (par défaut) : Désactiver.

useTexture

boolean

Indique s'il faut utiliser le mode texture. Valeurs valides :

  • true : Utiliser.

  • false (par défaut) : Ne pas utiliser.

type

AliRtcVideoTrack

Type de flux vidéo.

renderMode

AliRtcRenderMode

Mode de rendu.

pushExternalVideoFrame

Injecte des données vidéo.

public abstract int pushExternalVideoFrame(AliRtcRawDataFrame aliRawDataFrame,AliRtcVideoTrack streameType);

Paramètres

Paramètre

Type

Description

aliRawDataFrame

AliRtcRawDataFrame

Données de trame.

streameType

AliRtcVideoTrack

Type de flux vidéo.

Valeur de retour

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

startPublishLiveStream

Démarre la diffusion en direct par relais (bypass).

public abstract int startPublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

Paramètres

Paramètre

Type

Description

streamUrl

String

URL d'ingestion.

transcodingParam

AliRtcLiveTranscodingParam

Paramètres d'ingestion.

Valeur de retour

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

updatePublishLiveStream

Met à jour les paramètres de diffusion en direct par relais (bypass).

public abstract int updatePublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

Paramètres

Paramètre

Type

Description

streamUrl

String

URL d'ingestion.

transcodingParam

AliRtcLiveTranscodingParam

Paramètres d'ingestion.

Valeur de retour

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

stopPublishLiveStream

Arrête la diffusion en direct par relais (bypass).

public abstract int stopPublishLiveStream(String streamUrl);

Paramètres

Paramètre

Type

Description

streamUrl

String

URL d'ingestion.

Valeur de retour

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

getPublishLiveStreamState

Récupère l'état de la diffusion en direct par relais (bypass).

public abstract AliRtcEngine.AliRtcLiveTranscodingState getPublishLiveStreamState(String streamUrl);

Paramètres

Paramètre

Type

Description

streamUrl

String

URL d'ingestion du flux de diffusion en direct par relais.

Valeur de retour

Renvoie l'état de la diffusion en direct par relais.

startNetworkQualityProbeTest

Démarre une sonde de qualité réseau.

public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);

Paramètres

Paramètre

Type

Description

config

AlirtcNetworkQualityProbeConfig

Paramètres de configuration de la sonde.

Valeur de retour

0 : Succès. Autre : Échec.

stopNetworkQualityProbeTest

Arrête une sonde de qualité réseau.

public abstract int stopNetworkQualityProbeTest();

Valeur de retour

0 : Succès. Autre : Échec.

sendMediaExtensionMsg

Envoie un message d'extension multimédia.

public abstract int sendMediaExtensionMsg(byte[]message, int repeatCount, int delay, boolean isKeyFrame);

Le SDK offre la fonctionnalité d'envoi et de réception de messages d'extension multimédia. Cette méthode envoie des messages d'extension multimédia via le protocole d'extension SEI. Les récepteurs peuvent obtenir les messages en écoutant le rappel onMediaExtensionMsgReceived.

Les scénarios courants incluent les cas suivants :

  • Utilisation des messages d'extension multimédia pour transmettre des horodatages afin de calculer la latence réseau de bout en bout ou pour synchroniser les données avec d'autres services métier.

  • Utilisation des messages d'extension multimédia pour transmettre des informations descriptives. Actuellement, jusqu'à 4 Ko de données peuvent être transmis, ce qui permet de transférer de petites quantités de données. Nous recommandons d'utiliser JSON ou des chaînes de caractères simples.

Quand appeler

Appelez cette méthode après avoir commencé à publier un flux.

Limites

Lors de l'utilisation des messages d'extension multimédia, les canaux de données audio et vidéo sont réutilisés. Par conséquent, vous devez contrôler la fréquence d'envoi et la longueur des données du message. Les limites sont les suivantes :

  • Vous pouvez envoyer un maximum de messages par seconde égal au nombre d'images par seconde (fps), tel que défini dans le profil. Les informations SEI sont transmises dans le flux H.264/H.265, et les informations d'extension ne peuvent être jointes que lors de l'encodage des trames vidéo.

  • Pour éviter d'affecter la qualité de la transmission des données multimédias, le corps du message personnalisé est limité à 4 Ko. Il peut être utilisé pour transmettre de petites quantités d'informations.

  • Le paramètre repeatCount de la fonction sendMediaExtensionMsg représente la redondance du message personnalisé. S'il est supérieur à 1, le message sera envoyé plusieurs fois.

  • Pour prévenir la perte de messages due à la perte de paquets réseau, les autres participants du canal recevront également le même message plusieurs fois et devront supprimer les doublons.

  • Lorsque des messages personnalisés sont envoyés, les abonnés du canal les recevront également pendant la diffusion en direct par relais.

  • Un seul MediaExtensionMsg peut être transmis à la fois. Si vous appelez sendMediaExtensionMsg plusieurs fois, les nouvelles données écraseront les données précédentes.

Rappels associés

Après que l'émetteur a envoyé un message d'extension multimédia, le récepteur peut obtenir le message en écoutant le rappel onMediaExtensionMsgReceived.

Paramètres

Paramètre

Type

Description

message

byte[]

Message d'extension multimédia. La longueur maximale est de 4 Ko.

repeatCount

int

Nombre de répétitions. Cela représente la redondance du message pour prévenir la perte de messages due à la perte de paquets réseau. -1 signifie une transmission infinie.

delay

int

Délai en millisecondes. Temps minimum en millisecondes pour envoyer le message d'extension après l'appel de l'API.

isKeyFrame

boolean

Indique si le message d'extension doit être utilisé uniquement pour les images clés. true signifie que le message d'extension est joint uniquement aux images clés.

Valeur de retour

  • 0 : Succès.

  • <0 : Échec. Un code d'erreur est renvoyé.

    • ERR_INNER(-1) : Erreur interne du SDK. Le SDK n'a peut-être pas été initialisé ou a été appelé après sa destruction.

sendMediaExtensionMsgEx

Envoie un message d'extension multimédia.

public abstract int sendMediaExtensionMsgEx(byte[]message, int repeatCount, int delay, boolean isKeyFrame, int payloadType);

Le SDK offre des fonctionnalités pour envoyer et recevoir des messages d'extension multimédia. Cette méthode envoie un message d'extension multimédia via le protocole d'extension SEI. Le récepteur peut obtenir le message en écoutant le rappel onMediaExtensionMsgReceived. Lorsque payloadType est égal à 5, cela équivaut à utiliser la méthode sendMediaExtensionMsg.

Les scénarios courants incluent les cas suivants :

  • Utilisation des messages d'extension multimédia pour transmettre des horodatages afin de calculer la latence réseau de bout en bout ou pour synchroniser les données avec d'autres services métier.

  • Utilisation des messages d'extension multimédia pour transmettre des informations descriptives. Actuellement, jusqu'à 4 Ko de données peuvent être transmis, ce qui permet de transférer de petites quantités de données. Nous recommandons d'utiliser JSON ou des chaînes de caractères simples.

Quand appeler

Appelez cette méthode après avoir commencé à publier un flux.

Limites

Lors de l'utilisation des messages d'extension multimédia, les canaux de données audio et vidéo sont réutilisés. Par conséquent, vous devez contrôler la fréquence d'envoi et la longueur des données du message. Les limites sont les suivantes :

  • Vous pouvez envoyer un maximum de messages par seconde égal au nombre d'images par seconde (fps), tel que défini dans le profil. Les informations SEI sont transmises dans le flux H.264/H.265, et les informations d'extension ne peuvent être jointes que lors de l'encodage des trames vidéo.

  • Pour éviter d'affecter la qualité de la transmission des données multimédias, le corps du message personnalisé est limité à 4 Ko. Il peut être utilisé pour transmettre de petites quantités d'informations.

  • Le paramètre repeatCount de la fonction sendMediaExtensionMsg représente la redondance du message personnalisé. S'il est supérieur à 1, le message sera envoyé plusieurs fois.

  • Pour prévenir la perte de messages due à la perte de paquets réseau, les autres participants du canal recevront également le même message plusieurs fois et devront supprimer les doublons.

  • Lorsque des messages personnalisés sont envoyés, les abonnés du canal les recevront également pendant la diffusion en direct par relais.

  • Un seul MediaExtensionMsg peut être transmis à la fois. Si vous appelez sendMediaExtensionMsg plusieurs fois, les nouvelles données écraseront les données précédentes.

Paramètres

Paramètre

Type

Description

message

byte[]

Message d'extension multimédia. La longueur maximale est de 4 Ko.

repeatCount

int

Nombre de répétitions. Cela représente la redondance du message pour prévenir la perte de messages due à la perte de paquets réseau. -1 signifie une transmission infinie.

delay

int

Délai en millisecondes. Temps minimum en millisecondes pour envoyer le message d'extension après l'appel de l'API.

isKeyFrame

boolean

Indique si le message d'extension doit être utilisé uniquement pour les images clés. true signifie que le message d'extension est joint uniquement aux images clés.

payloadType

int

La plage est [5, 100..254]. payloadType=5 équivaut à utiliser la méthode sendMediaExtensionMsg.

Valeur de retour

  • 0 : Succès.

  • <0 : Échec. Un code d'erreur est renvoyé.

    • ERR_INNER(-1) : Erreur interne du SDK. Le SDK n'a peut-être pas été initialisé ou a été appelé après sa destruction.

onConnectionStatusChange

Rappel pour les changements d'état de la connexion réseau. Vous devez gérer ce rappel.

public void onConnectionStatusChange(AliRtcEngine.AliRtcConnectionStatus status,
 AliRtcEngine.AliRtcConnectionStatusChangeReason reason);

Paramètres

Paramètre

Type

Description

status

AliRtcConnectionStatus

État actuel de la connexion réseau.

reason

AliRtcConnectionStatusChangeReason

Raison du changement d'état de la connexion réseau.

OnLocalDeviceException

Rappel pour les exceptions de périphérique local. Vous devez gérer ce rappel.

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

Type d'exception de périphérique

msg

String

Informations associées à l'exception.

onAuthInfoWillExpire

Notification indiquant que les informations d'authentification de l'utilisateur sont sur le point d'expirer. L'authentification expire 30 secondes après la réception de ce rappel. Vous devez gérer ce rappel.

public void onAuthInfoWillExpire();

Ce rappel indique que les informations d'authentification de l'utilisateur sont sur le point d'expirer. L'authentification expire 30 secondes après la réception de ce rappel. Vous devez obtenir un nouveau jeton, puis mettre à jour les informations d'authentification de l'une des manières 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.

Quand déclenché

Le SDK déclenche ce rappel 30 secondes avant l'expiration des informations d'authentification de l'utilisateur. Vous devez mettre à jour les informations d'authentification rapidement après avoir reçu ce rappel.

onAuthInfoExpired

Le serveur renvoie que les informations ont expiré lorsque l'utilisateur appelle une interface nécessitant une authentification.

public void onAuthInfoExpired();

Ce rappel indique que les informations d'authentification de l'utilisateur ont expiré. Si vous souhaitez poursuivre la session, vous devez générer un nouveau jeton sur le serveur, puis mettre à jour les informations d'authentification en :

  • Appelant <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, puis en appelant joinChannel pour rejoindre à nouveau le canal.

Quand déclenché

Ce rappel est déclenché lorsque les informations d'authentification de l'utilisateur expirent.

onJoinChannelResult

Rappel pour le résultat de la jonction à 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 jonction au canal. Une valeur de retour de 0 indique un succès. Un code d'erreur est renvoyé en cas d'échec. Pour plus d'informations, consultez la liste des codes d'erreur. Voici quelques codes d'erreur courants :

  • ERR_JOIN_BAD_APPID : L'AppId n'existe pas.

  • ERR_JOIN_INVALID_APPID : L'AppId a expiré.

  • ERR_JOIN_BAD_CHANNEL : Le canal n'existe pas.

  • ERR_JOIN_INVALID_CHANNEL : Le canal a expiré.

  • ERR_JOIN_BAD_TOKEN : Le jeton n'existe pas.

  • ERR_JOIN_TIMEOUT : Délai dépassé lors de la jonction au canal.

  • ERR_JOIN_BAD_PARAM : Paramètre incorrect pour la jonction au canal.

  • ERR_JOIN_FAILED : Échec de la jonction au canal.

  • ERR_JOIN_CONFIG_INVALID : Paramètre de jonction invalide, tel qu'un jeton vide.

channel

String

ID du canal.

userId

String

ID utilisateur.

elapsed

int

Temps pris pour rejoindre le canal, en millisecondes.

onLeaveChannelResult

Rappel pour le résultat de la sortie d'un canal.

public void onLeaveChannelResult(int result, AliRtcEngine.AliRtcStats stats);

Condition de déclenchement

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> pour quitter le canal, ce rappel est déclenché et renvoie le résultat de la sortie du canal ainsi que les statistiques de cette session de canal.

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 rappel n'est pas déclenché.

Paramètres

Paramètre

Type

Description

result

int

Résultat de la sortie du canal. La valeur 0 indique une réussite. Un code d'erreur est renvoyé en cas d'échec.

stats

AliRtcStats

Résumé des statistiques de données pour la session dans ce canal.

onRemoteUserOffLineNotify

Rappel lorsqu'un utilisateur distant se déconnecte.

public void onRemoteUserOffLineNotify(String uid, AliRtcUserOfflineReason reason);

Ce rappel informe l'utilisateur local qu'un utilisateur distant a quitté le canal pour diverses raisons. Cette méthode est déclenchée lorsqu'un utilisateur distant se déconnecte.

Condition de déclenchement

  • Le rappel est déclenché lorsqu'un utilisateur distant quitte activement le canal.

  • 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 pour définir le rôle sur AliRTCSdkLive), un rappel est déclenché.

  • Le rappel est déclenché lorsqu'aucune donnée n'est reçue du diffuseur distant pendant une longue période et que l'utilisateur est considéré comme déconnecté.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

reason

AliRtcUserOfflineReason

Raison de la déconnexion de l'utilisateur.

onRemoteUserOnLineNotify

Rappel lorsqu'un utilisateur distant se connecte.

public void onRemoteUserOnLineNotify(String uid, int elapsed);

Cette méthode informe le client local qu'un utilisateur distant a rejoint le canal.

Condition de déclenchement

  • Un utilisateur distant rejoint le canal avec succès.

  • Après que l'utilisateur actuel a rejoint le canal, il reçoit un rappel de connexion pour les utilisateurs déjà présents dans le canal, ce qui permet d'afficher les utilisateurs précédemment connectés.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

elapsed

int

Temps nécessaire à l'utilisateur pour rejoindre le canal, en millisecondes.

onRemoteTrackAvailableNotify

Rappel lorsque le flux audio ou vidéo d'un utilisateur distant change.

public void onRemoteTrackAvailableNotify(String uid, AliRtcAudioTrack audioTrack,
 AliRtcVideoTrack videoTrack);

Ce rappel est déclenché lorsque l'état de publication d'un utilisateur distant change. Grâce à ce rappel, vous pouvez savoir en temps réel si un utilisateur distant publie des flux audio et vidéo, et afficher ou masquer les informations audio et vidéo de l'utilisateur distant sur l'interface en conséquence.

Remarque

Ce rappel renvoie l'état de publication de l'utilisateur distant. Pour savoir quel flux s'est déconnecté lors de ce changement, enregistrez les modifications d'état avant et après le rappel.

Condition de déclenchement

Ce rappel est déclenché dans les scénarios suivants :

  • Lorsqu'un utilisateur distant passe de l'état non publié à l'état publié (y compris l'audio et la vidéo).

  • Lorsqu'un utilisateur distant passe de l'état publié à l'état non publié (y compris l'audio et la vidéo).

  • En mode interactif, lorsqu'un utilisateur distant appelle setClientRole pour passer du rôle de spectateur à celui de diffuseur et active également la publication, ce rappel est déclenché.

Prenons la vidéo comme exemple. Supposons que l'utilisateur distant soit configuré pour ne pas publier. Ce rappel n'est pas déclenché.

  • Si un utilisateur distant commence à pousser un flux de caméra (État d'ingestion de flux : aucun flux vidéo -> uniquement le flux de caméra), le rappel sur le client local renvoie AliRtcVideoTrackCamera pour indiquer que le flux de caméra de l'utilisateur distant est disponible.

  • Si l'utilisateur distant pousse également un flux de partage d'écran (État d'ingestion de flux : uniquement le flux de caméra -> flux de caméra et flux de partage d'écran), l'extrémité locale reçoit le rappel AliRtcVideoTrackBoth , indiquant que les flux de caméra et de partage d'écran de l'utilisateur distant sont tous deux disponibles.

  • Si l'utilisateur distant arrête de pousser le flux de caméra et ne conserve que le flux de partage d'écran (État d'ingestion de flux : flux de caméra et de partage d'écran -> uniquement le flux de partage d'écran), le client local reçoit le rappel AliRtcVideoTrackScreen , indiquant que seul le flux de partage d'écran est actuellement disponible.

  • Si l'utilisateur distant arrête également de pousser le flux de partage d'écran (État d'ingestion de flux : poussée uniquement du flux de partage d'écran -> aucune poussée de flux vidéo), le client local reçoit le rappel AliRtcVideoTrackNo , qui indique qu'aucun flux vidéo n'est actuellement actif.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

audioTrack

AliRtcAudioTrack

Flux audio après la modification de l'utilisateur distant.

videoTrack

AliRtcVideoTrack

Flux vidéo après la modification de l'utilisateur distant.

onBye

Rappel lorsque l'utilisateur est expulsé du serveur ou que le canal est fermé.

public void onBye(int code);

Lorsqu'un utilisateur est déconnecté pour une raison quelconque ou que la réunion se termine, ce rappel est déclenché, ce qui vous permet d'utiliser le paramètre de rappel code pour déterminer la raison de la déconnexion et prendre les mesures appropriées.

Condition de déclenchement

  • L'utilisateur actuel est expulsé du serveur.

  • La session se termine (le serveur supprime activement le canal).

  • Départ passif. Le client doit essayer de restaurer la session ou de se reconnecter.

Paramètres

Paramètre

Type

Description

code

int

Type onBye. Pour plus d'informations, consultez AliRtcOnByeType.

onAudioPublishStateChanged

Rappel pour les changements d'état de publication audio.

public void onAudioPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState,
 int elapseSinceLastState, String channel);

Ce rappel écoute les changements d'état de publication audio de l'utilisateur local.

Condition de déclenchement

Lorsque l'état de publication audio de l'utilisateur change, par exemple :

  • La publication est arrêtée.

  • Appel de <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="e6c8edfc45xbw">setClientRole</a> pour passer au rôle de spectateur.

Paramètres

Paramètre

Type

Description

oldState

AliRtcPublishState

État de publication précédent.

newState

AliRtcPublishState

État de publication actuel.

elapseSinceLastState

int

Intervalle de temps depuis le dernier changement d'état, en millisecondes.

channel

String

ID du canal actuel.

onAudioSubscribeStateChanged

Rappel pour les changements d'état d'abonnement audio.

public void onAudioSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Ce rappel informe l'utilisateur local lorsque l'état d'abonnement au flux audio d'un utilisateur distant change. Grâce à ce rappel, vous pouvez connaître le changement d'état d'abonnement du flux audio d'un utilisateur distant spécifique et l'intervalle de temps 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 depuis le dernier changement d'état, en millisecondes.

channel

String

ID du canal actuel.

onUserAudioMuted

Notification indiquant que l'utilisateur distant a arrêté d'envoyer des données audio.

public void onUserAudioMuted(String uid ,boolean isMute);

Paramètres

Paramètre

Type

Description

uid

String

Utilisateur qui a exécuté muteAudio.

isMute

boolean

Indique si l'utilisateur est en sourdine. Valeurs possibles :

  • true : en sourdine.

  • false : pas en sourdine.

onUserAudioInterruptedBegin

Notification indiquant que l'audio d'un utilisateur a été interrompu.

public void onUserAudioInterruptedBegin(String uid);

Paramètres

Paramètre

Type

Description

uid

String

Utilisateur dont l'audio a été interrompu.

onUserAudioInterruptedEnded

Notification indiquant que l'interruption audio d'un utilisateur est terminée.

public void onUserAudioInterruptedEnded(String uid);

Paramètres

Paramètre

Type

Description

uid

String

Utilisateur dont l'audio a été interrompu.

onVideoPublishStateChanged

Rappel pour les changements d'état de publication vidéo.

public void onVideoPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState, 
 int elapseSinceLastState, String channel);

Ce rappel écoute les changements d'état de publication vidéo de l'utilisateur local.

Paramètres

Paramètre

Type

Description

oldState

AliRtcPublishState

État de publication précédent.

newState

AliRtcPublishState

État de publication actuel.

elapseSinceLastState

int

Intervalle de temps depuis le dernier changement d'état, en millisecondes.

channel

String

ID du canal actuel.

onVideoSubscribeStateChanged

Rappel pour les changements d'état d'abonnement au flux de caméra.

public void onVideoSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Ce rappel informe l'utilisateur local lorsque l'état d'abonnement au flux de caméra d'un utilisateur distant change. Grâce à ce rappel, vous pouvez connaître le changement d'état d'abonnement du flux de caméra d'un utilisateur distant spécifique et l'intervalle de temps entre l'état précédent et l'état actuel.

Rappels associés

Les flux vidéo se composent principalement de flux de caméra et de flux de partage d'écran. Cette interface concerne les changements d'état d'abonnement d'un flux de caméra. L'interface de rappel associée pour un flux de partage d'écran est 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 depuis le dernier changement d'état.

channel

String

ID du canal actuel.

onUserVideoMuted

Notification indiquant que l'utilisateur distant envoie des trames vidéo noires.

public void onUserVideoMuted(String uid, boolean isMute);

Paramètres

Paramètre

Type

Description

uid

String

Utilisateur qui a exécuté enableLocalVideo.

isMute

boolean

Indique s'il faut envoyer des trames noires. Valeurs possibles :

  • true : publier des trames noires.

  • false : publier normalement.

onUserVideoEnabled

Notification indiquant que l'utilisateur distant a désactivé la collecte du flux de caméra.

public void onUserVideoEnabled(String uid, boolean isMute);

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

isMute

boolean

Indique s'il faut activer la collecte du flux de la caméra. Valeurs possibles :

  • true : active la collecte du flux de la caméra.

  • false : désactive la collecte du flux de la caméra.

onUserWillResignActive

L'application de l'utilisateur distant est passée en arrière-plan.

public void onUserWillResignActive(String uid);

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur.

onUserWillBecomeActive

L'application de l'utilisateur distant est revenue au premier plan.

public void onUserWillBecomeActive(String uid);

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur.

onAliRtcStats

Rappel pour les statistiques de la session en cours. Le SDK déclenche ce rappel toutes les deux secondes.

public void onAliRtcStats(AliRtcEngine.AliRtcStats stats);

Paramètres

Paramètre

Type

Description

stats

AliRtcStats

Statistiques de la session.

onAudioEffectFinished

Rappel indiquant la fin de la lecture d'un effet sonore local.

void OnAudioEffectFinished(int soundId);

Paramètres

Paramètre

Type

Description

soundId

int

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

onAudioFileInfo

Rappel contenant les informations sur le fichier audio.

public void  onAudioFileInfo(AliRtcEngine.AliRtcAudioFileInfo info, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Lorsque vous appelez getAudioFileInfo pour obtenir les informations sur un fichier audio, ce rappel est déclenché pour afficher la durée du fichier audio et d'autres informations ou messages d'erreur.

Paramètres

Paramètre

Type

Description

info

AliRtcEngine.AliRtcAudioFileInfo

Informations sur le fichier audio, y compris le chemin d'accès au fichier et sa durée.

errorCode

AliRtcEngine.AliRtcAudioAccompanyErrorCode

<!--@p {"id":"81871cb71cbbg"}--br>Code d'erreur d'accompagnement audio, principalement pour les erreurs d'ouverture et de décodage de fichier.

onMediaExtensionMsgReceived

Rappel pour la réception d'un message d'extension multimédia.

public void onMediaExtensionMsgReceived(String uid, int payloadType, byte[]message);

Lorsqu'une extrémité envoie un message via sendMediaExtensionMsg, les autres extrémités reçoivent les données via ce rappel.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur qui a envoyé le message multimédia.

payloadType

int

Type de charge utile. sendMediaExtensionMsg renvoie 5. sendMediaExtensionMsgEx renvoie le type spécifique.

message

byte[]

Message d'extension multimédia.

onFirstRemoteVideoFrameDrawn

Ce message est déclenché lorsque la première image vidéo d'un utilisateur distant est affichée.

public void onFirstRemoteVideoFrameDrawn(String uid,AliRtcVideoTrack videoTrack, int width, int height, int elapsed);

Il s'agit du rappel pour la première image rendue d'une vidéo distante. Il est déclenché lorsque l'utilisateur local reçoit et rend avec succès la première image vidéo d'un utilisateur distant. Ce rappel vous aide à surveiller le temps de configuration du lien vidéo distant, à évaluer les performances du réseau et de l'appareil, 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 reçu.

width

int

Largeur de la vidéo extraite.

height

int

Hauteur de la vidéo extraite.

elapsed

int

Délai total entre le moment où l'utilisateur local rejoint le canal et l'affichage de la première image de la vidéo extraite (en millisecondes).

onFirstLocalVideoFrameDrawn

Ce message est déclenché lorsque la première image vidéo est affichée dans l'aperçu.

public void onFirstLocalVideoFrameDrawn(int width, int height, int elapsed);

Il s'agit du rappel pour la première image affichée dans l'aperçu vidéo local. Il est déclenché lorsque la première image vidéo locale est rendue après que l'utilisateur local a activé la caméra. Ce rappel vous aide à surveiller la vitesse de configuration de l'aperçu vidéo local, à évaluer les performances de l'appareil et à optimiser l'expérience utilisateur (par exemple, en affichant un message « Caméra prête » ou en ajustant la disposition de l'aperçu).

Paramètres

Paramètre

Type

Description

width

int

Largeur de la vidéo d'aperçu local.

height

int

Hauteur de la vidéo d'aperçu local.

elapsed

int

Délai total entre le moment où l'utilisateur local rejoint le canal et l'affichage de la première image de l'aperçu local (en millisecondes).

onFirstVideoFrameReceived

Rappel pour la réception de la première image vidéo d'un utilisateur distant.

public void onFirstVideoFrameReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Il s'agit du rappel pour la réception de la première image d'une vidéo distante. Il est déclenché lorsque l'utilisateur local reçoit avec succès la première image vidéo d'un utilisateur distant. Ce rappel vous aide à surveiller le temps de configuration du lien vidéo, à évaluer la qualité du réseau et à optimiser l'expérience utilisateur (par exemple, en affichant un message « Vidéo prête » ou en ajustant la logique de lecture).

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

videoTrack

AliRtcVideoTrack

Type de flux vidéo reçu.

timeCost

int

Coût temporel de l'envoi. Temps écoulé entre la connexion au canal et l'envoi du premier paquet vidéo (en millisecondes).

onFirstVideoPacketSent

Rappel pour le premier paquet vidéo envoyé.

public void onFirstVideoPacketSent(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Il s'agit du rappel pour le premier paquet vidéo local envoyé. Il est déclenché lorsque l'utilisateur local envoie avec succès le premier paquet de données vidéo. Ce rappel vous aide à surveiller la vitesse de configuration du lien d'envoi vidéo, à évaluer les performances de l'appareil local et à optimiser l'expérience utilisateur (par exemple, en affichant un message « Vidéo envoyée » ou en ajustant la politique de collecte).

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

videoTrack

AliRtcVideoTrack

Type de flux vidéo reçu.

timeCost

int

Coût temporel de l'envoi. Temps écoulé entre la connexion au canal et l'envoi du premier paquet vidéo (en millisecondes).

onFirstAudioPacketSent

Rappel pour le premier paquet audio envoyé.

public void onFirstAudioPacketSent(String uid, AliRtcAudioTrack track, int timeCost);

Il s'agit du rappel pour le premier paquet audio local envoyé. Il est déclenché lorsque l'utilisateur local envoie avec succès le premier paquet de données audio. Ce rappel vous aide à surveiller la vitesse de configuration du lien d'envoi audio, à évaluer les performances de l'appareil local et du système, et à optimiser l'expérience utilisateur.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

track

AliRtcAudioTrack

Type de flux audio reçu.

timeCost

int

Coût temporel de l'envoi. Temps écoulé entre la connexion au canal et l'envoi du premier paquet audio (en millisecondes).

onFirstVideoPacketReceived

Rappel pour le premier paquet vidéo reçu.

public void onFirstVideoPacketReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost)

Il s'agit du rappel pour le premier paquet vidéo distant reçu. Il est déclenché lorsque l'utilisateur local reçoit le premier paquet de données vidéo d'un utilisateur distant. Vous pouvez utiliser ce rappel pour surveiller la vitesse de configuration du lien vidéo ou mettre à jour les composants d'interface utilisateur du flux de lecture.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

videoTrack

AliRtcVideoTrack

Type de flux vidéo reçu.

timeCost

int

Temps écoulé entre le moment où l'utilisateur local rejoint le canal et la réception du premier paquet vidéo (en millisecondes).

onFirstAudioPacketReceived

Rappel pour le premier paquet audio reçu.

public void onFirstAudioPacketReceived(String uid, AliRtcAudioTrack track, int timeCost)

Il s'agit du rappel pour le premier paquet audio distant reçu. Il est déclenché lorsque l'utilisateur local reçoit le premier paquet de données audio d'un utilisateur distant. Ce rappel vous aide à surveiller la vitesse de configuration du lien audio, à évaluer la qualité du réseau et à optimiser l'expérience utilisateur (par exemple, en affichant un message « 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 reçu.

timeCost

int

Temps écoulé entre le moment où l'utilisateur local rejoint le canal et la réception du premier paquet audio (en millisecondes).

onFirstRemoteAudioDecoded

Rappel pour la première image audio distante décodée.

public void onFirstRemoteAudioDecoded(String uid, AliRtcAudioTrack track, int elapsed)

Il s'agit du rappel pour la première image décodée d'un flux audio distant extrait. Il vous informe que le flux audio de l'utilisateur distant a été décodé avec succès et peut être lu normalement. Vous pouvez utiliser ce rappel pour mesurer le temps de la première image ou mettre à jour les composants d'interface utilisateur du flux de lecture.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

track

AliRtcAudioTrack

Type de flux audio reçu.

elapsed

int

Délai entre le moment où l'utilisateur local rejoint le canal et le décodage de la première image audio (en millisecondes).

onAudioAccompanyStateChanged

Rappel pour l'état de lecture de l'accompagnement local.

public void onAudioAccompanyStateChanged(AliRtcEngine.AliRtcAudioAccompanyStateCode playState, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Il s'agit du rappel pour les changements d'état de lecture de l'accompagnement local. Il vous informe en temps réel de l'état de lecture actuel de l'accompagnement (par exemple, démarrage, pause, fin) et des éventuels codes d'erreur. Vous pouvez utiliser ce rappel 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

Code d'erreur de lecture, principalement pour les erreurs d'ouverture et de décodage de fichier.

onRemoteAudioAccompanyStarted

Rappel indiquant le début de la lecture de l'accompagnement d'un utilisateur distant.

public void onRemoteAudioAccompanyStarted(String uid);

Il s'agit du rappel indiquant le début de la lecture de l'accompagnement audio d'un utilisateur distant (par exemple, musique de fond). Il en informe l'application locale. Vous pouvez utiliser ce rappel pour exécuter une logique d'initialisation (par exemple, mettre à jour l'interface utilisateur, ajuster le volume ou notifier d'autres utilisateurs).

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant dont l'accompagnement a commencé à être lu.

onRemoteAudioAccompanyFinished

Rappel indiquant la fin de la lecture de l'accompagnement d'un utilisateur distant.

public void onRemoteAudioAccompanyFinished(String uid);

Ce rappel est déclenché lorsque la lecture de l'accompagnement audio d'un utilisateur distant (par exemple, musique de fond ou effets sonores) est terminée. Il en informe l'application locale. Utilisez ce rappel pour exécuter la logique suivante (comme notifier les utilisateurs ou mettre à jour le statut).

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant dont l'accompagnement a terminé sa lecture.

onVideoResolutionChanged

Modification de la résolution vidéo distante.

public void onVideoResolutionChanged(String uid,AliRtcVideoTrack videoTrack, int width, int height);

Ce rappel de notification signale les modifications de la résolution vidéo distante. Il se déclenche lorsque la résolution du flux vidéo d'un utilisateur distant change (par exemple, lors du changement de caméra, de l'ajustement de la définition ou d'une baisse de résolution due à des fluctuations réseau). Utilisez ce rappel pour ajuster dynamiquement la logique de rendu vidéo local (comme la disposition de l'interface utilisateur, 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 a changé.

videoTrack

AliRtcVideoTrack

Type de flux vidéo, tel que le flux de la caméra ou le flux d'écran.

width

int

Nouvelle largeur de la résolution vidéo.

height

int

Nouvelle hauteur de la résolution vidéo.

onRtcLocalVideoStats

Statistiques de données pour le flux vidéo local publié.

public void onRtcLocalVideoStats(AliRtcEngine.AliRtcLocalVideoStats aliRtcStats);

Ce rappel fournit les statistiques de données du flux vidéo local. Il permet d'obtenir le statut d'encodage et de transmission en temps réel de la vidéo locale (tel que le débit binaire et la fréquence d'images). Utilisez ce rappel pour surveiller la qualité vidéo, diagnostiquer les problèmes de performance ou ajuster dynamiquement les paramètres d'encodage.

Paramètres

Paramètre

Type

Description

aliRtcStats

AliRtcEngine.AliRtcLocalVideoStats

Statistiques de la vidéo publiée localement, incluant le débit binaire de publication, la fréquence d'images et d'autres informations. Pour plus de détails, consultez AliRtcLocalVideoStats.

onRtcRemoteVideoStats

Statistiques de données pour le flux vidéo distant abonné.

public void onRtcRemoteVideoStats(AliRtcEngine.AliRtcRemoteVideoStats aliRtcStats);

Ce rappel fournit les statistiques de données du flux vidéo distant récupéré. Il permet d'obtenir le statut d'encodage et de transmission en temps réel de la vidéo distante (tel que le débit binaire, la fréquence d'images, la résolution, la latence et les saccades). Utilisez ce rappel 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 la vidéo distante récupérée, incluant l'ID de l'utilisateur distant, la résolution vidéo, la fréquence d'images, le nombre de saccades et d'autres informations. Pour plus de détails, consultez AliRtcRemoteVideoStats.

onRtcRemoteAudioStats

Statistiques de données pour le flux audio distant abonné.

public void onRtcRemoteAudioStats(AliRtcEngine.AliRtcRemoteAudioStats aliRtcStats);

Ce rappel fournit les statistiques de données du flux audio distant abonné. Il permet d'obtenir le statut de la qualité audio en temps réel des utilisateurs distants (tel que la qualité audio, le taux de perte de paquets et la latence). Utilisez ce rappel pour surveiller la stabilité du lien audio distant, diagnostiquer les problèmes réseau et ajuster dynamiquement les politiques de lecture (comme l'activation de la réduction du bruit ou l'invitation des utilisateurs à optimiser leur réseau).

Paramètres

Paramètre

Type

Description

aliRtcStats

AliRtcEngine.AliRtcRemoteAudioStats

Statistiques de l'audio distant récupéré, incluant l'ID de l'utilisateur distant, la qualité audio, le taux de perte de paquets, le nombre de saccades, la latence et d'autres informations. Pour plus de détails, consultez AliRtcRemoteAudioStats.

onRtcLocalAudioStats

Statistiques de données pour le flux audio local publié.

public void onRtcLocalAudioStats(AliRtcEngine.AliRtcLocalAudioStats aliRtcStats);

Ce rappel fournit les statistiques de données de publication audio locale. Il permet d'obtenir le statut d'encodage et de transmission en temps réel de l'audio local (tel que le débit binaire, la fréquence d'échantillonnage, le nombre de canaux et le taux de perte de paquets). Utilisez ce rappel pour surveiller la stabilité du lien audio local, diagnostiquer les problèmes de performance et ajuster dynamiquement les politiques d'encodage (comme la réduction du débit binaire).

Paramètres

Paramètre

Type

Description

aliRtcStats

AliRtcEngine.AliRtcLocalAudioStats

Statistiques de l'audio publié localement, incluant le type de flux audio, le débit binaire d'envoi, la fréquence d'échantillonnage d'envoi et le nombre de canaux. Pour plus de détails, consultez AliRtcLocalAudioStats.

onAudioFocusChange

Rappel pour les changements de focus audio (Android uniquement).

public void onAudioFocusChange(int focusChange);

Notification des résultats de changement de focus audio. Par défaut, le SDK demande automatiquement le focus audio. Si le focus audio est utilisé à nouveau par une autre application, vous devez le redemander dans le rappel reçu du SDK.

Moment de la notification

Déclenché lorsque le statut du périphérique de sortie audio change (par exemple, branchement/débranchement d'écouteurs, changement de périphérique Bluetooth ou basculement entre écouteur/haut-parleur).

Paramètres

Paramètre

Type

Description

focusChange

int

Type de statut de focus. La valeur correspond à la définition du type de focus dans android.media.AudioManager.

onAudioRouteChanged

Rappel pour les changements de route audio (Android et iOS uniquement).

public void onAudioRouteChanged(AliRtcEngine.AliRtcAudioRouteType routing);

Ce rappel de notification signale les changements de route audio. Il permet de détecter les modifications du chemin de sortie audio du périphérique (comme l'insertion d'écouteurs ou le changement de haut-parleur). Ce rappel est disponible uniquement pour Android et iOS. Utilisez-le pour ajuster dynamiquement les politiques de sortie audio (comme le changement de mode microphone ou l'ajustement du volume).

Paramètres

Paramètre

Type

Description

routing

AliRtcEngine.AliRtcAudioRouteType

Route audio actuellement utilisée.

onRemoteUserSubscribedDataChannel

Rappel indiquant que vous pouvez commencer à envoyer des messages via le canal de données.

public void onRemoteUserSubscribedDataChannel(String uid);

Ce rappel est déclenché lorsqu'un utilisateur distant s'abonne au canal de données. Il informe l'utilisateur local que l'utilisateur distant spécifié est prêt à recevoir des messages personnalisés. Vous pouvez alors appeler sendDataChannelMsg pour leur envoyer des données en toute sécurité. Ce mécanisme garantit une livraison fiable des messages et évite la perte ou l'échec des envois vers un utilisateur qui n'est pas encore abonné au canal de données.

Remarque

Ce rappel est déclenché uniquement dans les scénarios d'IA conversationnelle en temps réel.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur distant.

onDataChannelMessage

Rappel pour la réception d'un message personnalisé via le canal de données.

public void onDataChannelMessage(String uid, AliRtcEngine.AliRtcDataChannelMsg msg);

Le SDK ARTC permet d'envoyer et de recevoir des messages personnalisés, ce qui vous offre la possibilité de transmettre des données de message en temps réel tout en diffusant des données audio et vidéo. Ce rappel sert à recevoir des messages personnalisés depuis le canal de données. Pour plus de détails, consultez Envoyer et recevoir des messages personnalisés.

Remarque
  • Dans les scénarios interactifs, les streamers peuvent envoyer et recevoir des messages, tandis que les spectateurs peuvent uniquement recevoir des messages.

  • Cette fonctionnalité est désactivée par défaut. Pour l'activer, appelez setParameter avec {\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}} après avoir créé le moteur.

Condition de déclenchement

Après que l'expéditeur a appelé sendDataChannelMsg pour envoyer un message personnalisé, ce rappel est déclenché côté récepteur si la fonctionnalité de canal de données est activée.

Paramètres

Paramètre

Type

Description

uid

String

ID de l'utilisateur expéditeur.

msg

AliRtcEngine.AliRtcDataChannelMsg

Message personnalisé reçu.

onAudioVolume

Volume audio, statut vocal et UID des utilisateurs abonnés.

public void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> speakers, int totalVolume);

Ce rappel est désactivé par défaut. Vous pouvez l'activer en appelant l'API <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é, le SDK le déclenche à l'intervalle défini dans <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="e5e0d330423ax">enableAudioVolumeIndication</a> après votre connexion à un canal contenant des utilisateurs diffusant des flux, fournissant ainsi les informations de volume des interlocuteurs locaux et distants.

Paramètres

Paramètre

Type

Description

speakers

List<AliRtcEngine.AliRtcAudioVolume>

Un tableau d'informations sur le volume des utilisateurs, incluant l'uid de l'utilisateur, le statut vocal et le volume.

  • Lorsque uid est 0, cela indique l'interlocuteur local.

  • Lorsque uid est 1, cela indique le volume mixé de tous les utilisateurs distants.

  • Les autres valeurs indiquent les informations de volume de l'uid de l'utilisateur distant spécifié.

totalVolume

int

Le volume total après mixage. La plage est [0, 255].

Dans le rappel de l'utilisateur local, totalVolume correspond au volume après mixage pour l'utilisateur local. Dans le rappel de l'utilisateur distant, totalVolume correspond au volume total après mixage pour tous les interlocuteurs.

onActiveSpeaker

Rappel pour l'interlocuteur actuel.

public void OnActiveSpeaker(String uid);

Après un appel réussi à <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 l'utilisateur distant ayant le volume le plus élevé et compte le nombre de fois où cet utilisateur est identifié comme l'interlocuteur le plus fort. Sur la période actuelle, l'utilisateur distant ayant le cumul le plus élevé est considéré comme l'utilisateur le plus actif.

Condition de déclenchement

Lorsque le nombre d'utilisateurs dans le canal est supérieur ou égal à 2 et qu'il y a un utilisateur distant actif, le SDK déclenche ce rappel et rapporte l'uid de l'utilisateur distant le plus actif.

  • Si l'utilisateur distant le plus actif reste le même, le SDK ne déclenchera pas à nouveau le rappel onActiveSpeaker.

  • Si l'utilisateur distant le plus actif change, le SDK déclenche à nouveau ce rappel et rapporte l'uid du nouvel utilisateur distant le plus actif.

Paramètres

Paramètre

Type

Description

uid

String

Uid de l'interlocuteur. Lorsque uid est 0, cela indique l'interlocuteur local. Cette méthode renvoie l'ID de l'utilisateur ayant le son le plus fort sur la période actuelle, et non l'utilisateur ayant le son instantané le plus fort.

OnTestAudioVolume

Test pré-appel. Rappel pour les informations de volume.

public void OnTestAudioVolume(int volume);

Ce rappel fournit les informations de volume du périphérique de capture audio local lors d'un test pré-appel, ce qui vous permet de vérifier que le périphérique fonctionne correctement. Il est déclenché lorsque vous appelez startAudioCaptureTest pour effectuer un test du périphérique audio avant l'appel.

Paramètres

Paramètre

Type

Description

volume

int

Valeur du volume.

onCapturedAudioFrame

Rappel pour les données audio brutes capturées.

boolean onCapturedAudioFrame(AliRtcAudioFrame frame);

Ce rappel permet d'obtenir les données audio brutes collectées par le périphérique actuel. Il est désactivé par défaut. Pour obtenir ces données audio :

  • Activez ce rappel en utilisant le paramètre audioSource dans enableAudioFrameObserver(true,audioSource,config). Le paramètre config permet également de définir la fréquence d'échantillonnage, le nombre de canaux audio et le mode de lecture/écriture pour les données audio.

  • Appelez registerAudioFrameObserver pour enregistrer l'objet de réception des données audio.

Remarque

Cette interface prend en charge la configuration de la fréquence d'échantillonnage, du nombre de canaux et du mode de lecture/écriture.

Limites

N'effectuez aucune opération longue dans cette fonction de rappel. Sinon, des anomalies sonores peuvent survenir.

Paramètres

Paramètre

Type

Description

frame

AliRtcAudioFrame

Données audio.

Valeur de retour

  • true : Succès.

  • false : Échec.

onProcessCapturedAudioFrame

Rappel pour les données audio après traitement 3A.

boolean onProcessCapturedAudioFrame(AliRtcAudioFrame frame);

Ce rappel permet d'obtenir les données audio après traitement 3A. Il est désactivé par défaut. Pour obtenir ces données audio :

  • Activez ce rappel via audioSource dans enableAudioFrameObserver(true,audioSource,config). Le paramètre config permet également de définir la fréquence d'échantillonnage, le nombre de canaux audio et le mode de lecture/écriture pour les données audio.

  • Appelez registerAudioFrameObserver pour enregistrer l'objet de réception des données audio.

Remarque

Cette interface prend en charge la configuration de la fréquence d'échantillonnage, du nombre de canaux et du mode de lecture/écriture.

Limites

N'effectuez aucune opération longue dans cette fonction de rappel. Sinon, des anomalies sonores peuvent survenir.

Paramètres

Paramètre

Type

Description

frame

AliRtcAudioFrame

Données audio.

Valeur de retour

  • true : Succès.

  • false : Échec.

onPublishAudioFrame

Rappel pour les données audio d'ingestion.

boolean onPublishAudioFrame(AliRtcAudioFrame frame);

Ce rappel permet de récupérer les données audio publiées. 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). Le paramètre config vous permet également de définir la fréquence d'échantillonnage, le nombre de canaux audio et le mode de lecture/écriture des données audio récupérées.

  • Appelez registerAudioFrameObserver pour enregistrer l'objet de réception des données audio.

Remarque

Cette interface prend en charge la configuration de la fréquence d'échantillonnage et du nombre de canaux, mais elle ne peut être définie qu'en mode lecture seule.

Limites

N'effectuez aucune opération longue dans cette fonction de rappel. Cela pourrait entraîner des anomalies sonores.

Paramètres

Paramètre

Type

Description

frame

AliRtcAudioFrame

Données audio.

Valeur de retour

  • true : Succès.

  • false : Échec.

onPlaybackAudioFrame

Rappel pour les données de lecture.

boolean onPlaybackAudioFrame(AliRtcAudioFrame frame);

Ce rappel permet de récupérer les données audio de lecture. Il est désactivé par défaut. Pour obtenir ces données audio :

  • Activez ce rappel via le paramètre audioSource dans enableAudioFrameObserver(true,audioSource,config). Le paramètre config permet également de définir la fréquence d'échantillonnage, le nombre de canaux audio et le mode de lecture/écriture des données audio.

  • Appelez registerAudioFrameObserver pour enregistrer l'objet de réception des données audio.

Remarque

Cette interface prend en charge la configuration de la fréquence d'échantillonnage, du nombre de canaux et du mode de lecture/écriture.

Limites

N'effectuez aucune opération longue dans cette fonction de rappel. Cela pourrait entraîner des anomalies sonores.

Paramètres

Paramètre

Type

Description

frame

AliRtcAudioFrame

Données audio.

Valeur de retour

  • true : Succès.

  • false : Échec.

onRemoteUserAudioFrame

Rappel pour les données de tirage de flux distant.

boolean onRemoteUserAudioFrame(String uid, AliRtcAudioFrame frame);

Ce rappel permet de récupérer les données audio distantes tirées d'un utilisateur spécifique. Il est désactivé par défaut. Pour obtenir ces données audio :

  • Activez ce rappel via le paramètre audioSource dans enableAudioFrameObserver(true,audioSource,config). Le paramètre config permet également de définir la fréquence d'échantillonnage, le nombre de canaux et le mode de lecture/écriture des données audio.

  • Appelez registerAudioFrameObserver pour enregistrer l'objet de réception des données audio.

Remarque

Cette interface ne prend pas en charge la configuration de la fréquence d'échantillonnage ou du nombre de canaux, mais vous pouvez définir le mode de lecture/écriture.

Limites

N'effectuez aucune opération longue dans cette fonction de rappel. Cela pourrait entraîner des anomalies sonores.

Paramètres

Paramètre

Type

Description

uid

String

ID utilisateur.

frame

AliRtcAudioFrame

Données audio.

Valeur de retour

  • true : Succès.

  • false : Échec.

OnDestroyCompletion

Rappel indiquant la fin de la destruction du moteur.

void OnDestroyCompletion();

Ce rappel indique que l'instance du moteur SDK a été détruite et qu'une nouvelle instance peut être créée.

Déclenchement

Lorsque vous appelez destroy[2/2], ce rappel est déclenché après la destruction du moteur.

onTextureCreate

Rappel pour la création du contexte OpenGL.

void onTextureCreate(long context);
Remarque

Ce rappel est déclenché lors de la création du contexte OpenGL interne du SDK.

Condition de déclenchement

Ce rappel est déclenché lors de la création du contexte OpenGL interne du SDK. Vous pouvez initialiser les ressources associées.

Paramètres

Paramètre

Type

Description

context

long

Contexte OpenGL.

onTextureUpdate

Rappel pour les mises à jour des textures OpenGL.

int onTextureUpdate(int textureId, int width, int height, AliRtcVideoSample videoSample);

Condition de déclenchement

Ce rappel est déclenché après le chargement de chaque image vidéo dans la texture OpenGL. Lorsqu'un observateur externe des données de texture OpenGL est enregistré, vous pouvez traiter la texture dans ce rappel et renvoyer l'ID de la texture traitée.

Paramètres

Paramètre

Type

Description

textureId

int

Contexte OpenGL.

width

int

Largeur de la vidéo.

height

int

Hauteur de la vidéo.

videoSample

AliRtcVideoSample

Données de l'image vidéo.

Valeur de retour

Renvoie un nouvel ID de texture ou l'ancien ID de texture. Si une valeur inférieure à 0 est renvoyée, l'ID de texture est considéré comme non mis à jour.

onTextureDestroy

void onTextureDestroy();

Condition de déclenchement

Ce rappel est déclenché lors de la destruction du contexte OpenGL interne du SDK. Vous pouvez nettoyer les ressources associées.

onLocalVideoSample

Rappel pour les données vidéo locales capturées et souscrites.

public boolean onLocalVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Ce rappel permet de récupérer les données de capture vidéo locale. Il sert à obtenir les images vidéo brutes (telles que les données YUV) collectées par la caméra locale. Vous pouvez utiliser ce rappel pour implémenter une logique de traitement vidéo personnalisée (comme l'ajout de filtres, de filigranes ou la transcodage) et décider si les données traitées doivent être renvoyées au SDK pour l'encodage ou le rendu ultérieur. Pour envoyer la vidéo traitée au SDK, renvoyez true.

Déclenchement

Après avoir appelé avec succès <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="22a5a6bd53c77">registerVideoSampleObserver</a> pour enregistrer un observateur de données vidéo, un rappel est déclenché lorsque le SDK capture l'image vidéo correspondante.

Paramètres

Paramètre

Type

Description

sourceType

AliRtcVideoSourceType

Type de source vidéo.

videoSample

AliRtcVideoSample

Données vidéo.

Valeur de retour

  • true : Doit être réécrit dans le SDK (la réécriture est activée par défaut ; elle est obligatoire lors de la manipulation de AliRtcVideoSample.data).

  • false : Ne doit pas être réécrit dans le SDK (utilisé lors de la manipulation directe de AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU et AliRtcVideoSample.dataFrameV).

onPreEncodeVideoSample

Rappel pour les données vidéo locales pré-encodées souscrites.

public boolean onPreEncodeVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoRawData);

Ce rappel permet de récupérer les données vidéo locales avant encodage. Il sert à obtenir les données vidéo brutes (au format YUV, par exemple) avant que le SDK n'encode l'image vidéo. Vous pouvez utiliser ce rappel pour implémenter une logique de traitement personnalisée (comme l'ajout de filigranes, l'ajustement des couleurs ou la transcodage) et décider si les données traitées doivent être renvoyées au SDK pour l'encodage ultérieur.

Paramètres

Paramètre

Type

Description

sourceType

AliRtcVideoSourceType

Type de flux vidéo.

videoRawData

AliRtcVideoSample

Données vidéo brutes.

Valeur de retour

  • true : Doit être réécrit dans le SDK (la réécriture est activée par défaut ; elle est obligatoire lors de la manipulation de AliRtcVideoSample.data).

  • false : Ne doit pas être réécrit dans le SDK (utilisé lors de la manipulation directe de AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU et AliRtcVideoSample.dataFrameV).

onRemoteVideoSample

Rappel pour les données vidéo distantes souscrites.

public boolean onRemoteVideoSample(String callId,AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Ce rappel permet de récupérer les données vidéo distantes souscrites. Il sert à obtenir les données d'image vidéo brutes (au format YUV, par exemple) d'un utilisateur distant. Vous pouvez utiliser ce rappel pour implémenter une logique de traitement personnalisée (comme l'ajout de filtres, de filigranes ou la transcodage) et décider si les données traitées doivent être renvoyées au SDK pour le 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.

Valeur de retour

  • true : Doit être réécrit dans le SDK (la réécriture est activée par défaut ; elle est obligatoire lors de la manipulation de AliRtcVideoSample.data).

  • false : Ne doit pas être réécrit dans le SDK (utilisé lors de la manipulation directe de AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU et AliRtcVideoSample.dataFrameV).

onGetVideoFormatPreference

Format de sortie des données vidéo.

public AliRtcVideoFormat onGetVideoFormatPreference();

Valeur de retour

Le format de sortie vidéo souhaité.

onGetObservedFramePosition

Contenu de sortie des données vidéo.

public int onGetObservedFramePosition();

Ce rappel permet de récupérer le contenu ou le type de sortie des données vidéo. Vous pouvez l'utiliser pour connaître l'étape de traitement de l'image vidéo de sortie du SDK (par exemple, après la collecte, avant l'encodage ou après le tirage).

Valeur de retour

Le contenu de sortie vidéo souhaité. Le type est une valeur d'énumération de AliRtcVideoObserPosition, représentant les données collectées, les données tirées ou les données pré-encodées.

onPublishLiveStreamStateChanged

Rappel pour les changements d'état de publication du flux de contournement.

public void onPublishLiveStreamStateChanged(String streamUrl, AliRtcLiveTranscodingState state, AliEngineLiveTranscodingErrorCode errorCode);

Paramètres

Paramètre

Type

Description

streamUrl

String

URL d'ingestion.

state

AliRtcLiveTranscodingState

État de la diffusion en direct de contournement.

errorCode

AliEngineLiveTranscodingErrorCode

Code d'erreur.

onPublishTaskStateChanged

Rappel pour les changements d'état de la tâche de contournement.

public void onPublishTaskStateChanged(String streamUrl, AliRtcTrascodingPublishTaskStatus state);

Paramètres

Paramètre

Type

Description

streamUrl

String

URL d'ingestion.

state

AliRtcTrascodingPublishTaskStatus

État de la tâche de publication de diffusion en direct de contournement.

onNetworkQualityChanged

Rappel pour les changements de qualité du réseau.

public void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);

Paramètres

Paramètre

Type

Description

uid

String

ID utilisateur. Lorsqu'il est vide, il indique l'état du réseau montant et descendant de l'utilisateur local.

upQuality

AliRtcNetworkQuality

État du réseau montant.

downQuality

AliRtcNetworkQuality

État du réseau descendant.

onNetworkQualityProbeTest

Rappel pour une sonde de qualité réseau. Ce rappel est fourni environ 3 secondes après le début de la sonde.

public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}

Paramètres

Paramètre

Type

Description

quality

AliRtcNetworkQuality

Qualité du réseau.

onNetworkQualityProbeTestResult

Rappel pour le résultat d'une sonde de qualité réseau. Ce rappel est fourni environ 30 secondes après le début de la sonde.

public void onNetworkQualityProbeTestResult(int code, AliRtcEngine.AlirtcNetworkQualityProbeResult result){}

Paramètres

Paramètre

Type

Description

code

int

Valeur de retour. 0 indique que la sonde a réussi. -1 indique que la sonde a échoué et que la connexion a été perdue en raison de mauvaises conditions réseau.

result

AlirtcNetworkQualityProbeResult

Qualité du réseau.

onSnapshotComplete

Interface de rappel pour les résultats de capture d'écran.

public void onSnapshotComplete(String userId, AliRtcVideoTrack trackType, Bitmap bitmap, boolean success)

Cette interface vous informe du résultat et des détails de la capture d'écran.

Paramètres

Paramètre

Type

Description

userId

String

ID utilisateur. Si userId est null ou « », cela signifie qu'il s'agit d'une capture d'écran de l'utilisateur local.

trackType

AliRtcVideoTrack

Type de flux vidéo de la capture d'écran.

bitmap

Bitmap

Données de la capture d'écran.

success

boolean

Indique si la capture d'écran a réussi.

onScreenSharePublishStateChanged

Rappel pour les changements d'état de publication du partage d'écran.

public void onScreenSharePublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)

Ce rappel notifie les changements d'état de publication du partage d'écran. Il est déclenché lorsque l'état de publication du partage d'écran change.

Paramètres

Paramètre

Type

Description

oldState

AliRtcEngine.AliRtcPublishState

Ancien état avant le changement d'état de publication.

newState

AliRtcEngine.AliRtcPublishState

Nouvel état après le changement d'état de publication.

elapseSinceLastState

int

Intervalle de temps écoulé depuis le dernier changement d'état (en millisecondes).

channel

String

Nom du canal actuel.

onScreenShareSubscribeStateChanged

Rappel pour les changements d'état d'abonnement au flux de partage d'écran.

public void onScreenShareSubscribeStateChanged(String uid,
                                                    AliRtcEngine.AliRtcSubscribeState oldState,
                                                    AliRtcEngine.AliRtcSubscribeState newState,
                                                    int elapseSinceLastState, String channel);

Ce rappel notifie les changements d'état d'abonnement au flux de partage d'écran. Il est déclenché lorsque le statut 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

Statut d'abonnement précédent.

newState

AliRtcEngine.AliRtcSubscribeState

Statut d'abonnement actuel.

elapseSinceLastState

int

Intervalle de temps écoulé depuis le dernier changement d'état (en millisecondes).

channel

String

Canal actuel.

onOccurError

Notification d'erreur.

public void onOccurError(int error, String message);

Il s'agit du rappel global de notification d'erreur pour le SDK ARTC. Il avertit la couche application lorsqu'une erreur grave se produit dans le moteur interne du SDK. Utilisez ce rappel pour obtenir le code d'erreur et le message d'erreur afin de gérer les exceptions, journaliser les événements ou afficher des invites à l'utilisateur.

Paramètres

Paramètre

Type

Description

error

int

Type d'erreur. Consultez la liste des codes d'erreur.

message

String

Message d'erreur.

OnLocalAudioStateChanged

Rappel pour l'état du dispositif audio local.

public void OnLocalAudioStateChanged(int state);

Ce rappel est déclenché lorsque l'état du dispositif de capture audio local change. Par exemple, lorsque vous appelez startAudioCapture pour démarrer la capture audio ou stopAudioCapture pour l'arrêter.

Paramètres

Paramètre

Type

Description

state

int

  • 0 : Non créé.

  • 1 : En cours de capture.

  • 2 : Fermeture de la capture.

  • 3 : Capture fermée.

setParameter

Définit des paramètres personnalisés.

public abstract int setParameter(String param);

Paramètres

Paramètre

Type

Description

param

String

Paramètres personnalisés.

getParameter

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

public abstract String getParameter(String param);

Paramètres

Paramètre

Type

Description

param

String

Paramètres personnalisés.

registerAudioVolumeObserver

Enregistre un objet de sortie des données de volume.

public abstract void registerAudioVolumeObserver(AliRtcAudioVolumeObserver observer);

Cette interface enregistre un objet utilisé pour exporter les données de volume. Pour annuler l'enregistrement, appelez unRegisterAudioVolumeObserver.

Quand appeler

  • Lorsque vous devez obtenir des informations sur le volume, appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="85a734d2596vf">enableAudioVolumeIndication</a> pour définir la fréquence de rappel et le coefficient de lissage, puis appelez cette méthode pour enregistrer l'objet qui reçoit les données pertinentes.

  • Si vous appelez <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#ae07dc986abf3" id="29e92857a5iv8">startAudioCaptureTest</a> pour tester votre dispositif audio avant de rejoindre une réunion, vous pouvez appeler cette API et implémenter le rappel <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 de réception des données de volume.

unRegisterAudioVolumeObserver

Annule l'enregistrement d'un objet de sortie des données de volume.

public abstract void unRegisterAudioVolumeObserver();

Cette méthode correspond à registerAudioVolumeObserver et sert à annuler l'enregistrement de l'objet de sortie des données de volume audio.

Quand appeler

Si vous avez enregistré un objet pour recevoir les données audio en appelant registerAudioVolumeObserver, appelez cette méthode pour annuler l'enregistrement de l'objet.

enableAudioFrameObserver

Définit les paramètres de rappel audio.

public abstract int  enableAudioFrameObserver(boolean enable, AliRtcAudioSource audioSource, AliRtcAudioFrameObserverConfig config);

Cette méthode active ou désactive le rappel des données audio pour un type spécifié, ce qui vous permet 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

Lorsque vous appelez cette API pour activer le rappel des données audio pour la source AliRtcAudioSource correspondante, vous devez utiliser la méthode registerAudioFrameObserver pour transmettre un objet chargé de recevoir les données audio.

Quand appeler

Appelez cette méthode pour l'activer lorsque vous devez obtenir des données audio.

Paramètres

Paramètre

Type

Description

enable

boolean

Indique s'il faut autoriser les rappels de données audio.

audioSource

AliRtcAudioSource

Type de source de données de rappel, y compris après la capture (0), après le traitement 3A (1), la publication (2), la lecture (3), le mixage après publication et lecture (4) et les données audio extraites (5).

Remarque
  • Les données audio ingérées et les données audio mixées issues de l'ingestion et de la lecture ne prennent en charge que le mode lecture seule (ReadOnly).

  • Les données audio extraites ne permettent pas de modifier les paramètres audio tels que la fréquence d'échantillonnage et le nombre de canaux.

config

AliRtcAudioFrameObserverConfig

Paramètres de rappel audio, y compris la fréquence d'échantillonnage, le nombre de canaux et le mode de lecture/écriture du rappel (lecture seule, écriture seule, lecture-écriture). Si le paramètre est null, la valeur par défaut est (48000, 1, ReadOnly).

Valeur de retour

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

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

registerAudioFrameObserver

Enregistre un rappel de données audio.

public abstract void registerAudioFrameObserver(AliRtcAudioFrameObserver observer);

Cette méthode enregistre l'objet récepteur des données de rappel audio.

Quand appeler

Lorsque vous avez besoin que le SDK déclenche les rappels onCapturedAudioFrame, onProcessCapturedAudioFrame, onPublishAudioFrame, onPlaybackAudioFrame ou onRemoteUserAudioFrame pour obtenir divers types de données audio, vous devez appeler cette méthode pour fournir un objet de réception des données audio. Pour annuler l'enregistrement, rappelez cette méthode en transmettant la valeur null.

Limites

Vous devez appeler enableAudioFrameObserver pour activer le rappel pour la source AliRtcAudioSource spécifique. Sinon, l'observateur transmis ne pourra pas obtenir de données.

Paramètres

Paramètre

Type

Description

observer

AliRtcAudioFrameObserver

Instance d'objet de réception du rappel de données audio. La transmission de la valeur null signifie l'annulation de l'enregistrement.

registerVideoSampleObserver

Enregistre un objet de sortie des données vidéo.

public abstract void registerVideoSampleObserver(AliVideoObserver observer);

Utilisez cette API pour enregistrer l'objet de sortie des données vidéo. Pour annuler l'enregistrement, appelez l'API unRegisterVideoSampleObserver.

Quand appeler

Pour obtenir des données audio brutes (au format YUV ou RGBA, par exemple), vous pouvez appeler cette méthode pour enregistrer un observateur de données vidéo afin d'obtenir des données vidéo à différentes étapes. AliRtcVideoObserver est la classe d'observateur de données vidéo.

Rappels associés

Après avoir enregistré avec succès un observateur de sortie de données vidéo, le SDK déclenche les rappels que vous avez implémentés dans l'interface AliRtcVideoObserver lors de la capture de chaque image vidéo. Implémentez les rappels correspondants en fonction de vos besoins métier :

Paramètres

Paramètre

Type

Description

observer

AliRtcVideoObserver

Objet de sortie des données vidéo.

Valeur de retour

Les données de sortie sont renvoyées via le rappel AliVideoObserver.

unRegisterVideoSampleObserver

Annule l'enregistrement d'un objet de sortie des données vidéo.

public abstract void unRegisterVideoSampleObserver();

Cette API correspond à l'API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="dcf635790da7v">registerVideoSampleObserver</a> et annule l'enregistrement de l'objet de sortie des données vidéo.

registerLocalVideoTextureObserver

Enregistre un observateur de données de texture OpenGL pour le flux vidéo de la caméra locale.

public abstract void registerLocalVideoTextureObserver(AliTextureObserver observer);

Si vous souhaitez obtenir des données vidéo brutes, appelez l'interface <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="4f1f5a423ch4j">registerVideoSampleObserver</a> pour enregistrer le rappel correspondant. Si vous souhaitez obtenir des données de texture internes, appelez cette interface. Pour annuler l'enregistrement, appelez l'interface unRegisterLocalVideoTextureObserver.

Remarque

Cette méthode n'est valable que pour le flux vidéo de la caméra locale.

Rappels associés

Après avoir 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 rappels que vous avez implémentés dans l'interface AliRtcTextureObserver lors de la capture de chaque image vidéo. Implémentez les rappels correspondants en fonction de vos besoins métier :

  • onTextureCreate : Ce rappel est déclenché lors de la création du contexte OpenGL interne du SDK.

  • onTextureUpdate : Ce rappel est déclenché après le chargement de chaque image vidéo dans la texture OpenGL. Lorsqu'un observateur externe de données de texture OpenGL est enregistré, vous pouvez traiter la texture dans ce rappel et renvoyer l'ID de texture traité. Notez que la valeur de retour de ce rappel doit être un ID de texture valide. Si vous n'effectuez aucun traitement, vous devez renvoyer le paramètre textureId.

  • onTextureDestroy : Ce rappel est déclenché lors de la destruction du contexte OpenGL interne du SDK.

Paramètres

Paramètre

Type

Description

observer

AliRtcTextureObserver

Observateur de données de texture OpenGL.

Valeur de retour

Les données de sortie sont renvoyées via le rappel AliVideoObserver.

unRegisterLocalVideoTextureObserver

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

public abstract void unRegisterLocalVideoTextureObserver();

Cette méthode correspond à registerLocalVideoTextureObserver et annule l'enregistrement de l'observateur.

snapshotVideo

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

public abstract int snapshotVideo(String userId, AliRtcVideoTrack trackType);

Appelez cette méthode pour capturer une image d'un flux vidéo spécifique d'un utilisateur donné.

Limites

Il s'agit d'une opération asynchrone. Lorsque la méthode renvoie 0, cela signifie que l'appel a réussi, mais que le SDK n'a pas encore effectué la capture.

Rappels associés

Après avoir appelé cette méthode avec succès, écoutez le rappel onSnapshotComplete pour obtenir le résultat et les détails de la capture d'écran.

Paramètres

Paramètre

Type

Description

userId

String

ID utilisateur. Si userId est null ou "", cela signifie qu'une capture de l'utilisateur local est effectuée.

trackType

AliRtcVideoTrack

Type de flux vidéo. Il indique quel flux doit être capturé. Seules les options suivantes sont prises en charge :

  • AliRtcVideoTrackCamera : Flux de la caméra.

  • AliRtcVideoTrackScreen : Flux de partage d'écran.

Valeur de retour

  • 0 : L'appel de méthode a réussi. Le succès de la capture est indiqué par le rappel onSnapshotComplete.

  • Valeur non nulle : L'appel a échoué. Un code d'erreur est renvoyé.

setLogDirPath

Définit le chemin d'enregistrement des fichiers journaux du SDK.

public static int setLogDirPath(String logDirPath);

Paramètres

Paramètre

Type

Description

logDirPath

String

Chemin absolu pour l'enregistrement des fichiers journaux. Chemin par défaut : sous le répertoire de l'application.

Valeur de retour

0 indique que l'appel de méthode a réussi. Une valeur non nulle indique un échec. Remarque : Pour appeler cette méthode, définissez-la avant d'appeler toute autre méthode du SDK afin d'éviter la perte de journaux. L'application doit s'assurer que le chemin spécifié existe et est accessible en écriture.

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

Définit 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 affecte l'affichage de la vidéo.

Limites

Cette interface est disponible uniquement sur Android et iOS.

Paramètres

Paramètre

Type

Description

mode

AliRtcOrientationMode

Orientation de l'appareil.

Valeur de retour

Aucune.

requestAudioFocus

Demande le focus audio.

public abstract int requestAudioFocus();

Quand appeler

Lorsque le SDK démarre, il demande le focus audio en interne. En général, vous n'avez pas besoin de demander activement le focus audio. Si vous avez appelé explicitement abandonAudioFocus, vous pouvez appeler cette méthode pour restaurer le focus audio.

Limites

Uniquement pour Android.

Paramètres

Aucun.

Valeur de retour

  • 0 : Échec.

  • 1 : Succès.

abandonAudioFocus

Abandonne le focus audio.

public abstract int abandonAudioFocus();

Quand appeler

Pendant le processus de destruction du SDK, cette méthode est appelée en interne pour libérer le focus audio. Dans certains scénarios, vous devrez peut-être libérer activement le focus audio. Vous pouvez appeler cette méthode pour ce faire. Après avoir libéré le focus audio, certains appareils peuvent ne produire aucun son ou un volume faible lors de la lecture. Pour restaurer l'audio, vous pouvez appeler requestAudioFocus.

Limites

Uniquement pour Android.

Valeur de retour

  • 0 : Échec.

  • 1 : Succès.

getNetworkTime

Obtient l'heure réseau actuelle.

public abstract long getNetworkTime();

Cette méthode obtient l'heure réseau actuelle (l'horodatage actuel après calibration NTP et en tenant compte du décalage horaire), en ms.

Quand appeler

Lors de la synchronisation des comportements multi-appareils, vous devez obtenir l'heure réseau synchronisée comme référence pour calibrer l'heure actuelle.

Valeur de retour

L'heure actuelle du protocole Network Time Protocol (NTP) (en millisecondes).

sendDataChannelMsg

Envoie un message personnalisé via le canal de données.

public abstract int sendDataChannelMsg(AliRtcDataChannelMsg Msg);

Le SDK ARTC permet d'envoyer et de recevoir des messages personnalisés, ce qui vous permet de transmettre des données de message en temps réel tout en transmettant des données audio et vidéo. Vous pouvez appeler cette méthode pour transmettre des instructions de contrôle en temps réel, des données de synchronisation d'état ou d'autres messages métier conjointement avec l'audio et la vidéo. Pour plus d'informations, consultez Envoyer et recevoir des messages personnalisés.

Remarque
  • Le canal de message personnalisé est désactivé par défaut. Pour activer cette fonctionnalité, appelez l'interface setParameter et définissez le paramètre sur "{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}". Vous pouvez effectuer cette opération avant ou après avoir rejoint un canal.

  • Le message peut contenir n'importe quelle donnée (comme du texte).

Rappels associés

  • Une fois que l'expéditeur a activé avec succès un canal de message personnalisé, il peut appeler cette méthode pour envoyer un message personnalisé. Le destinataire reçoit le message personnalisé en écoutant le rappel onDataChannelMessage.

Limites

  • Les diffuseurs peuvent envoyer et recevoir des messages. Les spectateurs peuvent uniquement recevoir des messages.

  • Vous devez appeler setParameter pour activer le canal de message personnalisé.

  • L'envoi de données est limité comme suit :

    • Débit maximal de 30 Ko/s.

    • Le canal de données peut envoyer un maximum de 60 paquets de données par seconde, chaque paquet ayant une taille maximale de 1 Ko.

Paramètres

Paramètre

Type

Description

Msg

AliRtcDataChannelMsg

Contenu du message.

Valeur de retour

  • 0 : Succès.

  • Valeur non nulle : Échec. Un code d'erreur est renvoyé.

startScreenShare

Important

Cette interface sera dépréciée. Nous vous recommandons d'utiliser la nouvelle interface startScreenShare.

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

public abstract int startScreenShare(Intent intent);

Paramètres

Nom

Description

intent

Une activité créée en externe pour démarrer le partage d'écran. Si elle n'est pas créée en externe, passez null. Nous recommandons de passer null.

Valeur de retour

  • 0 : Succès.

  • Autre : Échec.

startScreenShare

Important

Cette interface sera dépréciée. Nous vous recommandons d'utiliser la nouvelle interface startScreenShare.

Démarre le partage d'écran.

public abstract int startScreenShare();

Valeur de retour

  • 0 : Succès.

  • Autre : Échec.

startScreenShare

Démarre le partage du flux vidéo de l'écran.

public abstract int startScreenShare(Intent intent, AliRtcScreenShareMode screenShareMode);

Paramètres

Nom

Description

intent

Une activité créée en externe pour démarrer le partage d'écran. Si elle n'est pas créée en externe, passez null. Nous recommandons de passer null.

screenShareMode

Type de partage d'écran. Pour plus d'informations, consultez AliRtcScreenShareMode.

Valeur de retour

  • 0 : Succès.

  • Autre : Échec.

stopScreenShare

Arrête le flux de partage d'écran, y compris le flux audio partagé.

public abstract int stopScreenShare();

Valeur de retour

  • 0 : Succès.

  • Autre : Échec.

setAudioShareVolume

Définit le volume du flux audio partagé.

public abstract int setAudioShareVolume(int volume);

Paramètres

Nom

Description

volume

Niveau de volume.

La plage est [0, 100]. La valeur par défaut est 50.

Valeur de retour

  • 0 : Succès.

  • Autre : Échec.

isScreenSharePublished

Interroge si le flux de partage d'écran est publié.

public abstract boolean isScreenSharePublished();

Valeur de retour

  • true : Le partage d'écran est en cours de publication.

  • false : Le partage d'écran n'est pas publié.

setScreenShareEncoderConfiguration

Définit les propriétés d'encodage vidéo pour le flux d'écran.

public abstract void setScreenShareEncoderConfiguration(AliRtcScreenShareEncoderConfiguration config);

Cette méthode définit les paramètres vidéo pour les propriétés d'encodage vidéo du flux d'écran, telles que la résolution, la fréquence d'images, le débit binaire et l'orientation vidéo.

Remarque

Tous les paramètres définis ont des limites de plage correspondantes. Si un paramètre défini se trouve en dehors de la plage valide, le SDK l'ajuste automatiquement. Par conséquent, la configuration réelle peut différer de votre configuration.

Quand appeler

Vous pouvez appeler cette méthode avant ou après avoir rejoint un canal. Si vous devez définir les propriétés d'encodage vidéo du flux d'écran une seule fois par session, nous vous recommandons de l'appeler 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'exploitation global du SDK. Elle affecte principalement la destination de la transmission des journaux et des données d'instrumentation :

  • Lorsqu'il est défini sur l'environnement national, les journaux et les données d'instrumentation sont transmis aux centres de données en Chine continentale.

  • Lorsqu'il est défini sur l'environnement international, les données sont acheminées vers des centres de données situés hors de Chine, comme à Singapour.

Quand appeler

Nous vous recommandons d'appeler cette méthode au début de l'initialisation de l'application, par exemple dans la méthode onCreate() de la classe Application.

Limites

  • Ce paramètre est global et ne doit être appelé qu'une seule fois.

  • Des appels multiples écraseront la configuration d'environnement précédente mais peuvent affecter les connexions établies ou les états de session. Ne changez pas dynamiquement pendant l'exécution.

Exemple

AlivcEnv.GlobalEnv env = ENV_DEFAULT; // For overseas environments, use ENV_SEA
AlivcBase.getEnvironmentManager().setGlobalEnvironment(env);

Paramètres

Paramètre

Type

Description

env

GlobalEnv

Spécifie l'environnement global. Valeurs d'énumération prises en charge :• ENV_DEFAULT : Environnement national.• ENV_SEA : Environnement international (tel que Singapour).

Valeur de retour Renvoie un code de résultat de type int :

  • 0 : Indique le succès.

  • Une valeur différente de 0 indique un échec.