美文网首页react-native
RN - 使用jmrtc-react-native实现音视频通话

RN - 使用jmrtc-react-native实现音视频通话

作者: 精神病患者link常 | 来源:发表于2020-12-01 11:11 被阅读0次

官方RN插件:https://github.com/jpush/jmrtc-react-native
代码为RN0.54版本,我项目里面是0.63版本,无法直接使用

解决办法:SDK采用原生集成,使用桥接文件调用

步骤1:通过文档集成原生SDK

http://docs.jiguang.cn/jmessage/client/im_jmrtc_android/
android:将demolibs里面的arm64-v8a armeabi-v7a x86 也拷贝过去

步骤2:添加桥接文件

  1. 直接将 jmrtc-react-native 里面的桥接文件拷贝到项目中。

  2. 查看 index.js 。里面是桥接好的功能方法。改个名字直接使用或者当成api文档用都行。

3.添加jmrtcview.js。可以直接使用,也可自行修改。

步骤3:android build.gradle修改

sourceSets {
       main {
           ...
           jniLibs.srcDirs = ['libs'] // 添加这一句
       }
   }

android一点不会,不会写android的桥接,只能拷贝现有的

⚠️我集成android原生SDK遇到的问题:

  1. MainApplication中导入JMRTCReactPackage不知道import 路径该怎么写
    官方插件的原生桥接位置src/io/jmrtc/android
    办法:将io文件夹放到src/main/java/com/目录下面。
    import com.io.jmrtc.android.JMRTCReactPackage;
    ⚠️⚠️io文件夹下面的文件中 package路径也要修改为com.io...
  2. 找不到 import org.greenrobot.eventbus.EventBus;
    找不到 import cn.jiguang.jmrtc.api.JMRtcClient;
    ...
    办法:android/app/build.gradle`` 中的 dependencies 中添加
    implementation 'org.greenrobot:eventbus:3.1.1'
    implementation fileTree(dir: "libs", include: ["*.jar"])
  3. R.string
    办法:注释掉它

使用

  JMRTCManager.initEngine((success)=>{
        JMRTCManager.setIsVideoStreamEnabled({videoStreamEnabled:true})
        JMRTCManager.setVideoProfile({profile:'360p'})
        console.log('initEngine success===',success);
        JMRTCManager.startCallUsers({usernames:[this.username],type:this.type},(success)=>{
          console.log('startCallUsers success',success);
        },(fail)=>{
          console.log('startCallUsers fail',fail);
          switch (fail.code) {
            case 7100001:
            case 7100002:
              // 音视频被邀请的用户已登出
              break;
          
            default:
              break;
          }
        })
      },(fail)=>{
        console.log('initEngine fail',fail);
      })

相关文章

  • RN - 使用jmrtc-react-native实现音视频通话

    官方RN插件:https://github.com/jpush/jmrtc-react-native[https:...

  • VUE+WebRTC实现音视频直播

    如何使用 Vue 实现音视频功能 1 功能简介 本文将介绍如何快速使用 Vue 实现一个简单的实时音视频通话。 相...

  • WebRTC总结

    最近分别使用Mqtt和Xmpp作为WebRTC的信令实现了音视频通话,一点小小的总结! 使用WebRTC做音视频通...

  • WebRTC实现简单音视频通话功能

    1 WebRTC音视频通话功能简介 本文介绍如何基于WebRTC快速实现一个简单的实时音视频通话。 在开始之前,您...

  • 由WebRTC谈起

    本篇主要介绍笔者在iOS开发中使用WebRTC实现音视频通话功能涉及的相关技术,主要包括:1)Socket2)...

  • VUE实现Web端多人语音视频聊天

    1 多人语音聊天功能介绍 本文展示了如何使用 ZEGO Express SDK 构造多人音视频通话场景,即实现多对...

  • 国内音视频功能调研

    前言 公司准备开发一个音视频功能的产品,需要实现“1对1音频通话”、“邀请多人进行群会议通话”、用到了IM和音视频...

  • Android uni-app 封装原生插件

    前言 据广大用户的需求,需要把我们anyRTC的SDK,封装到uni-app来使用,并且实现音视频通话。这边文章图...

  • JavaScript WebRTC 多人视频通话

    得益于现代浏览器对于WebRTC规范的支持度,使用JavaScript实现多人音视频通话的方案技术越来越趋于成熟,...

  • Ubuntu 下 coturn 配置实现 TURN 中继传输媒

    注:如果你已经实现了基于 coturn 的 P2P 模式通话,而现在正在努力实现 Turn 转发模式的音视频通话的...

网友评论

    本文标题:RN - 使用jmrtc-react-native实现音视频通话

    本文链接:https://www.haomeiwen.com/subject/obgjwktx.html