رد الفعل-webRBRTC البافسي
وحدة بسيطة وسهلة الاستخدام تساعد في إجراء مكالمة فيديو لـ React Native. تم تنفيذها باستخدام WebRTC-ITALITION.
ابدء
npm install react - native - webrtc - simple -- save
أو
yarn add react - native - webrtc - simple
الآن نحتاج إلى تثبيت WEBRTC ITALITION
وثيقة
webrtcsimple
| طريقة | وصف |
|---|
| يبدأ | إنشاء اتصالات |
| قف | وقف الاتصالات |
| GetSessionId | احصل على معرف الجلسة الخاص بك |
| getlocalsstream | احصل على دفق الفيديو الخاص بك |
| getRemoteStream | احصل على دفق الفيديو البعيد |
| الاستماع | أحداث استدعاء الاستماع |
| الأحداث | أحداث استدعاء الطريقة |
webrtcsimple.start
| قيمة | يكتب | وصف |
|---|
| خياري | كائن أو لاغ | خيار تكوين نظير (https://peerjs.com/) |
| مفتاح | خيط | معرف جلستك |
الند للند
webrtcsimple.listenings.callevents
| قيمة | يكتب | وصف |
|---|
| start_call | خيط | حالة الاتصال الخاصة بك |
| تلقيت | خيط | المكالمة الوضعية |
| قبول | خيط | استدعاء حالة aceept |
| end_call | خيط | استدعاء حالة نهاية |
| رسالة | خيط | الاستماع رسالة |
webrtcsimple.events
| طريقة | params | وصف |
|---|
| يتصل | SessionId: سلسلة ، البيانات: أي | بدء مكالمة |
| قبول | لا | اقبل مكالمة |
| endcall | لا | رفض مكالمة |
| SwitchCamera | لا | تبديل الكاميرا |
| فيديو | لا | تشغيل/إيقاف الفيديو |
| قابلية للتأليف | لا | ON/OFF AUDIO |
| رسالة | البيانات: أي | أحداث إرسال رسالة |
نظير متعدد
webrtcsimple.listenings.callevents
| قيمة | يكتب | وصف |
|---|
| start_group_call | خيط | حالة الاتصال الخاصة بك |
| تلقيت _group_call | خيط | المكالمة الوضعية |
| join_group_call | خيط | المكالمة الوضعية |
| LEEAD_GROUP_CALL | خيط | استدعاء حالة رفض |
webrtcsimple.events
| طريقة | params | وصف |
|---|
| GroupCall | GroupsessionId: String [] ، userData: Object = {} | ابدأ مكالمة المجموعة |
| joingroup | arrsessionid: سلسلة [] | انضم إلى Call |
| مجموعة المغادرة | لا | ترك مكالمة المجموعة |
| addstream | SessionId: سلسلة | إنشاء دفق |
| SwitchCamera | لا | تبديل الكاميرا |
| فيديو | لا | تشغيل/إيقاف الفيديو |
| قابلية للتأليف | لا | ON/OFF AUDIO |
| رسالة | البيانات: أي | أحداث إرسال رسالة |
الاستخدام
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 ( ) ;
} ;