La capture de départ : le câblage dans le cycle de vie de l'éditeur
- Utilisation de l'outil de capture personnalisé dans le Publisher
Quel que soit l'endroit où vous créez votre éditeur (par exemple, dans la rubrique MainActivity ou un gestionnaire d'appels dédié), vous passez une instance du capteur personnalisé dans la fonction Publisher.Builder:
publisher = Publisher.Builder(this@MainActivity)
.capturer(
MirrorVideoCapturer(
this@MainActivity,
Publisher.CameraCaptureResolution.HIGH,
Publisher.CameraCaptureFrameRate.FPS_30
)
)
.build()
Après avoir construit un Publisher et fournir votre MirrorVideoCapturer par exemple - toutes les vidéos sortantes pour cet éditeur proviennent de votre capteur personnalisé au lieu du capteur par défaut.
- Une fois que vous avez créé un Publisher avec votre captureur personnalisé et que vous avez appelé
session.publish(éditeur), le SDK fera appel à la fonctionstartCapture()méthode.
@Synchronized
override fun startCapture(): Int {
Log.d(TAG, "startCapture() enter (cameraState: $cameraState)")
val resume = Runnable {
initCamera()
scheduleStartCapture()
}
when (cameraState) {
CameraState.CLOSING -> executeAfterClosed = resume
CameraState.CLOSED -> resume.run()
else -> scheduleStartCapture()
}
Log.d(TAG, "startCapture() exit")
return 0
}
Le flux de haut niveau est le suivant :
Vérifier l'état de la caméra: s'assurer que la ressource caméra sous-jacente est initialisée et prête à l'emploi. Démarrer la boucle de capture: Ouvrez la caméra (si elle n'est pas déjà ouverte). Lancer une demande de capture répétée (Camera2) ou lancer le pipeline de prévisualisation (CameraX / Camera1). Traiter les cas "pas encore prêts".: Si l'installation de la caméra est toujours en cours, attendez que la caméra soit ouverte avant de la lancer (pour éviter les conditions de course). Gestion des erreurs: Si quelque chose est fondamentalement erroné (par exemple, startCapture appelé trop tôt), lancer ou signaler une erreur.
Une fois que startCapture() a réussi, votre captureur commence à recevoir des images de la caméra et à les envoyer au SDK.
Capture vidéo de base
Apprenez à configurer un capteur vidéo de base à l'aide du SDK vidéo de Vonage.