Dans les applications Internet modernes, les fonctions de communication en temps réel sont devenues une partie indispensable. Les utilisateurs peuvent communiquer instantanément via des appels vocaux et vidéo pour améliorer l'efficacité de la communication. Cet article expliquera comment utiliser la technologie PHP pour réaliser la messagerie vocale et la prise en charge des appels vidéo dans le chat en temps réel.
La technologie WeBRTC est largement utilisée dans la communication audio et vidéo à faible latence, et le processus d'acquisition audio est également très pratique. L'exemple de code suivant montre comment demander des autorisations audio et obtenir des flux audio à l'aide d'un objet Navigator:
//utilisernavigatorAudio de demande d'objet
navigator.mediaDevices.getUserMedia({ audio: true, video: false })
.then(function(stream) {
// Stream audio obtenu avec succès,Traitement de suivi
})
.catch(function(err) {
console.log(err);
});
Le code ci-dessus demande des autorisations audio de l'utilisateur en appelant l'interface GetUserMedia. Après succès, le flux audio est obtenu via la méthode d'alors. S'il échoue, la capture d'erreur est effectuée via Catch.
Après avoir obtenu le flux audio, les données audio doivent être transférées sur le serveur en temps réel. WebSocket fournit un canal de transmission de messages en temps réel efficace, l'exemple de code est le suivant:
// créerWebSocketconnecter
var socket = new WebSocket('ws://localhost:8080');
// Envoyer des données de streaming audio au serveur
socket.send(stream);
Ce code crée une nouvelle connexion WebSocket et utilise la méthode d'envoi pour transmettre le flux audio au serveur en temps réel pour assurer la livraison instantanée des données vocales.
L'acquisition de streaming vidéo est similaire à l'acquisition audio et peut également être facilement effectuée via weBrTC. L'exemple de code suivant montre comment demander des autorisations vidéo et obtenir des flux vidéo:
// utilisernavigatorStream vidéo de demande d'objet
navigator.mediaDevices.getUserMedia({ video: true, audio: false })
.then(function(stream) {
// Stream vidéo obtenu avec succès,进行Traitement de suivi
})
.catch(function(err) {
console.log(err);
});
Le code demande à l'utilisateur d'autoriser l'accès à la caméra via GetUserMedia et obtient le flux vidéo après le succès et enregistre les informations d'erreur en cas d'échec.
Après avoir obtenu le flux vidéo, il est également nécessaire de transmettre en temps réel via WebSocket pour assurer une expérience d'appel vidéo à faible latence. L'exemple de code est le suivant:
// créerWebSocketconnecter
var socket = new WebSocket('ws://localhost:8080');
// Envoyer des données de streaming vidéo au serveur
socket.send(stream);
Ici, le code crée une nouvelle connexion WebSocket, envoie le flux vidéo au serveur et réalise la transmission en temps réel des données vidéo.
Cet article présente les principales méthodes d'utilisation de PHP combinées avec la technologie WebBrTC et WebSocket pour réaliser des messages vocaux et des appels vidéo dans les fonctions de chat en temps réel. Grâce à ces technologies, les développeurs peuvent facilement réaliser une acquisition et une transmission audio et vidéo à faible latence, améliorant considérablement l'expérience d'interaction des utilisateurs et les capacités de communication en temps réel.