최신 인터넷 응용 프로그램에서 실시간 커뮤니케이션 기능은 필수 불가결 한 부분이되었습니다. 사용자는 음성 및 화상 통화를 통해 즉시 통신하여 커뮤니케이션 효율성을 향상시킬 수 있습니다. 이 기사는 PHP 기술을 사용하여 실시간 채팅에서 음성 메시징 및 화상 통화 지원을 달성하는 방법을 설명합니다.
WebRTC 기술은 저도의 오디오 및 비디오 커뮤니케이션에 널리 사용되며 오디오 획득 프로세스도 매우 편리합니다. 다음 코드 예제는 오디오 권한을 요청하고 네비게이터 개체를 사용하여 오디오 스트림을 얻는 방법을 보여줍니다.
//사용navigator객체 요청 오디오
navigator.mediaDevices.getUserMedia({ audio: true, video: false })
.then(function(stream) {
// 오디오 스트림을 성공적으로 얻었습니다,후속 처리
})
.catch(function(err) {
console.log(err);
});
위의 코드는 getUsermedia 인터페이스를 호출하여 사용자에게 오디오 권한을 요청합니다. 성공 후, 오디오 스트림은 당시 방법을 통해 얻습니다. 실패하면 캐치를 통해 오류 캡처가 수행됩니다.
오디오 스트림을 얻은 후 오디오 데이터를 실시간으로 서버로 전송해야합니다. WebSocket은 효율적인 실시간 메시지 전송 채널을 제공하며 샘플 코드는 다음과 같습니다.
// 만들다WebSocket연결하다
var socket = new WebSocket('ws://localhost:8080');
// 오디오 스트리밍 데이터를 서버로 보냅니다
socket.send(stream);
이 코드는 새로운 WebSocket 연결을 생성하고 보내기 메소드를 사용하여 오디오 스트림을 서버로 실시간으로 전송하여 음성 데이터를 즉시 전달할 수 있도록합니다.
비디오 스트리밍 획득은 오디오 획득과 유사하며 WebRTC를 통해 쉽게 수행 할 수 있습니다. 다음 샘플 코드는 비디오 권한을 요청하고 비디오 스트림을 얻는 방법을 보여줍니다.
// 사용navigator객체 요청 비디오 스트림
navigator.mediaDevices.getUserMedia({ video: true, audio: false })
.then(function(stream) {
// 비디오 스트림을 성공적으로 얻었습니다,进行후속 처리
})
.catch(function(err) {
console.log(err);
});
이 코드는 사용자에게 GetUsermedia를 통해 카메라 액세스 권한을 승인하고 성공 후 비디오 스트림을 얻고 실패하면 오류 정보를 기록합니다.
비디오 스트림을 얻은 후에는 또한 WebSocket을 통해 실시간을 전송하여 속성이 낮은 화상 통화 경험을 보장해야합니다. 샘플 코드는 다음과 같습니다.
// 만들다WebSocket연결하다
var socket = new WebSocket('ws://localhost:8080');
// 비디오 스트리밍 데이터를 서버로 보냅니다
socket.send(stream);
여기서 코드는 새로운 WebSocket 연결을 생성하고 비디오 스트림을 서버로 전송하며 비디오 데이터의 실시간 전송을 실현합니다.
이 기사는 WEBRTC 및 WebSocket 기술과 결합 된 PHP를 사용하여 실시간 채팅 기능에서 음성 메시지 및 화상 통화를 실현하는 주요 방법을 소개합니다. 이러한 기술을 통해 개발자는 지연 시간이 적은 오디오 및 비디오 스트림 획득 및 전송을 쉽게 달성하여 사용자 상호 작용 경험과 응용 프로그램 실시간 커뮤니케이션 기능을 크게 향상시킬 수 있습니다.