반응-신용 -webrtc 단순
React Native의 화상 통화를하는 데 도움이되는 간단하고 사용하기 쉬운 모듈입니다. React-Native-WEBRTC를 사용하여 구현되었습니다.
시작하기
npm install react - native - webrtc - simple -- save
또는
yarn add react - native - webrtc - simple
이제 우리는 React-Native-WEBRTC를 설치해야합니다
문서
Webrtcsimple
| 방법 | 설명 |
|---|
| 시작 | 연결을 만듭니다 |
| 멈추다 | 연결을 중지하십시오 |
| getSessionID | 세션 ID를 얻으십시오 |
| GetLocalStream | 비디오 스트림을 얻으십시오 |
| getRemotestream | 원격 비디오 스트림을 얻으십시오 |
| 듣는 | 청취 이벤트 |
| 이벤트 | 방법 통화 이벤트 |
Webrtcsimple.start
| 값 | 유형 | 설명 |
|---|
| 선택 과목 | 물체 또는 null | 옵션 피어 구성 (https://peerjs.com/) |
| 열쇠 | 끈 | 세션 ID |
피어 투 피어
Webrtcsimple.listenings.callevents
| 값 | 유형 | 설명 |
|---|
| start_call | 끈 | 시작 통화 상태 |
| 수신 _call | 끈 | 통화 수신 상태 |
| accept_call | 끈 | Aceept 상태를 호출하십시오 |
| end_call | 끈 | 종료 상태를 호출하십시오 |
| 메시지 | 끈 | 메시지를 듣습니다 |
Webrtcsimple.events
| 방법 | 매개 변수 | 설명 |
|---|
| 부르다 | SessionID : String, Data : Any | 전화를 시작하십시오 |
| 수락 | 아니요 | 전화를 수락하십시오 |
| EndCall | 아니요 | 전화를 거부하십시오 |
| 스위치 카메라 | 아니요 | 카메라 전환 |
| videoinable | 아니요 | 켜기/꺼짐 비디오 |
| 오디오 상태 | 아니요 | ON/OFF 오디오 |
| 메시지 | 데이터 : 누구든지 | 이벤트는 메시지를 보냅니다 |
여러 피어
Webrtcsimple.listenings.callevents
| 값 | 유형 | 설명 |
|---|
| start_group_call | 끈 | 시작 통화 상태 |
| 수신 _group_call | 끈 | 통화 수신 상태 |
| join_group_call | 끈 | 통화 수신 상태 |
| Leave_group_Call | 끈 | 전화 거부 상태 |
Webrtcsimple.events
| 방법 | 매개 변수 | 설명 |
|---|
| Groupcall | GroupsessionId : String [], userData : Object = {} | 그룹 호출을 시작하십시오 |
| Joingroup | arrsessionid : String [] | 그룹 전화에 가입하십시오 |
| LeaveGroup | 아니요 | 그룹 전화를 떠나십시오 |
| AddStream | SessionID : 문자열 | 스트림을 만듭니다 |
| 스위치 카메라 | 아니요 | 카메라 전환 |
| videoinable | 아니요 | 켜기/꺼짐 비디오 |
| 오디오 상태 | 아니요 | ON/OFF 오디오 |
| 메시지 | 데이터 : 누구든지 | 이벤트는 메시지를 보냅니다 |
용법
import WebrtcSimple from 'react-native-webrtc-simple' ;
useEffect ( ( ) => {
const configuration = {
optional : null ,
key : Math . random ( ) . toString ( 36 ) . substr ( 2 , 4 ) , //optional
} ;
WebrtcSimple . start ( configuration )
. then ( ( status ) => {
if ( status ) {
const stream = WebrtcSimple . getLocalStream ( ) ;
console . log ( 'My stream: ' , stream ) ;
WebrtcSimple . getSessionId ( ( id : string ) => {
console . log ( 'UserId: ' , id ) ;
} ) ;
}
} )
. catch ( ) ;
WebrtcSimple . listenings . callEvents ( ( type , userData ) => {
console . log ( 'Type: ' , type ) ;
// START_CALL
// RECEIVED_CALL
// ACCEPT_CALL
// END_CALL
// MESSAGE
// START_GROUP_CALL
// RECEIVED_GROUP_CALL
// JOIN_GROUP_CALL
// LEAVE_GROUP_CALL
} ) ;
WebrtcSimple . listenings . getRemoteStream ( ( remoteStream ) => {
console . log ( 'Remote stream' , remoteStream ) ;
} ) ;
} , [ ] ) ;
const callToUser = ( userId ) => {
const data = { } ;
WebrtcSimple . events . call ( userId , data ) ;
} ;
const acceptCall = ( ) => {
WebrtcSimple . events . acceptCall ( ) ;
} ;
const endCall = ( ) => {
WebrtcSimple . events . endCall ( ) ;
} ;
const switchCamera = ( ) => {
WebrtcSimple . events . switchCamera ( ) ;
} ;
const video = ( enable : boolean ) => {
WebrtcSimple . events . videoEnable ( enable ) ;
} ;
const audio = ( enable : boolean ) => {
WebrtcSimple . events . audioEnable ( enable ) ;
} ;
const sendMessage = ( message : any ) => {
WebrtcSimple . events . message ( message ) ;
} ;
const groupCall = ( sessionId : string [ ] ) => {
const data = { } ;
WebrtcSimple . events . groupCall ( sessionId , data ) ;
} ;
const joinGroup = ( groupSessionId : string [ ] ) => {
WebrtcSimple . events . joinGroup ( groupSessionId ) ;
} ;
const leaveGroup = ( ) => {
WebrtcSimple . events . leaveGroup ( ) ;
} ;