React-Native-Webrtc-Simple
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:文字列、データ:任意 | 電話を開始します |
| AcceptCall | いいえ | 電話を受け入れます |
| endcall | いいえ | 電話を拒否します |
| Switchcamera | いいえ | カメラを切り替えます |
| VideoEnable | いいえ | オン/オフビデオ |
| AudioEnable | いいえ | オン/オフオーディオ |
| メッセージ | データ:任意 | イベントはメッセージを送信します |
複数のピア
webrtcsimple.listenings.callevents
| 価値 | タイプ | 説明 |
|---|
| start_group_call | 弦 | スタートコールステータス |
| received_group_call | 弦 | 受信ステータスを呼び出します |
| join_group_call | 弦 | 受信ステータスを呼び出します |
| leave_group_call | 弦 | 拒否ステータスを呼び出します |
webrtcsimple.events
| 方法 | パラメージ | 説明 |
|---|
| GroupCall | groupsessionId:string []、userdata:object = {} | グループコールを開始します |
| Joingroup | arrsessionid:string [] | グループコールに参加してください |
| leavegroup | いいえ | グループコールを残します |
| ストリームを追加します | SESSIONID:文字列 | ストリームを作成します |
| Switchcamera | いいえ | カメラを切り替えます |
| VideoEnable | いいえ | オン/オフビデオ |
| AudioEnable | いいえ | オン/オフオーディオ |
| メッセージ | データ:任意 | イベントはメッセージを送信します |
使用法
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 ( ) ;
} ;