React-nativo-webrtc-simple
Um módulo simples e fácil de usar que ajude a fazer videochamadas para o React Native. Implementado usando react-native-webrtc.
Começando
npm install react - native - webrtc - simple -- save
ou
yarn add react - native - webrtc - simple
Agora precisamos instalar o react-native-webrtc
Documento
Webrtcsimple
| Método | Descrição |
|---|
| começar | Criar conexões |
| parar | Pare as conexões |
| getSessionId | Obtenha seu ID de sessão |
| getLocalsTream | Obtenha seu fluxo de vídeo |
| getRemoteStream | Obtenha um fluxo de vídeo remoto |
| audições | Ouvindo eventos de chamadas |
| eventos | Método Chamada de eventos |
Webrtcsimple.start
| Valor | Tipo | Descrição |
|---|
| opcional | Objeto ou nulo | Opção Configuração de pares (https://peerjs.com/) |
| chave | Corda | Seu ID da sessão |
Pessoa para pessoa
Webrtcsimple.listenings.Callevents
| Valor | Tipo | Descrição |
|---|
| Start_call | Corda | Seu status de chamada inicial |
| Recebido_call | Corda | Chamada Status recebido |
| Aceit_call | Corda | Chame o status aceeto |
| End_call | Corda | Ligue para o status final |
| MENSAGEM | Corda | Escuta uma mensagem |
Webrtcsimple.events
| Método | Params | Descrição |
|---|
| chamar | SessionId: String, Data: qualquer | Iniciar uma chamada |
| aceitarcall | Não | Aceitar uma chamada |
| ENDCALL | Não | Rejeitar uma chamada |
| Switchcamera | Não | Câmera de troca |
| VideoEnable | Não | Vídeo on/off |
| Audioenable | Não | Audio on/off |
| mensagem | Dados: qualquer | Eventos enviam mensagem |
Múltiplo de ponto
Webrtcsimple.listenings.Callevents
| Valor | Tipo | Descrição |
|---|
| Start_group_call | Corda | Seu status de chamada inicial |
| Recebeu_group_call | Corda | Chamada Status recebido |
| Junção_group_call | Corda | Chamada Status recebido |
| Leave_group_call | Corda | Chamada Status de rejeição |
Webrtcsimple.events
| Método | Params | Descrição |
|---|
| groupCall | GroupSessionId: String [], UserData: Object = {} | Iniciar chamada em grupo |
| Joingroup | ArrSessionId: String [] | Junte -se à chamada em grupo |
| LeaveGroup | Não | Saia da chamada em grupo |
| addstream | sessionID: string | Crie um fluxo |
| Switchcamera | Não | Câmera de troca |
| VideoEnable | Não | Vídeo on/off |
| Audioenable | Não | Audio on/off |
| mensagem | Dados: qualquer | Eventos enviam mensagem |
Uso
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 ( ) ;
} ;