更新记录

1.0.5(2020-09-28)

新增网络测试接口

1.0.4(2020-09-25)

增加网络检测接口

1.0.3(2020-09-01)

增加currentCallID接口

查看更多

平台兼容性

Android iOS
×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


网易云信音视频通话接口说明

  1. 视频控件对象

var avChatView = this.$refs.avChatView; var remoteVideoView = this.$refs. remoteVideoView;

注意: a. 嵌入av_chat_view视频控件,当前页面必须是.nvue页面;如果只需集成音频,忽略此步,vue页面即可 b. 获取视频控件必须在mounted回调之后,不能在onLoad里面获取

  1. 音视频插件对象

var sdkwx = uni.requireNativePlugin('YXIM-AVChat');

  1. 添加音视频事件监听

sdkwx.addEventCallback(function(res){ console.log(res); if (res.type == "onReceive") { //被叫收到通话请求回调 } else if (res.type == "onResponse") { //被叫响应通话请求 } else if (res.type == "onResponsedByOther") { //呼入的通话已经被该帐号其他端处理回调 } else if (res.type == "onCallEstablished") { //通话建立结果回调 } else if (res.type == "onHangup") { //收到对方结束通话回调 } else if (res.type == "onLocalDisplayviewReady") { //本地视频预览准备好 that.onLocalDisplayviewReady(); } else if (res.type == "onRemoteDisplayviewReady") { //远端视频 that.onRemoteDisplayviewReady(res.data); } else if (res.type == "onRecordStarted") { //开始视频录制回调 } else if (res.type == "onRecordStopped") { //录制成功结束 } else if (res.type == "onRecordError") { //录制发生了错误 } }

  1. 移除音视频事件监听

sdkwx.removeEventCallback();

  1. 主动呼叫

sdkwx.call({ account:"teacher15",//目标用户 type:1,//2视频 1音频 option:{ videoCaptureParam:{ preferredVideoQuality:4,//视频质量,取值范围0-6 videoCrop:0,//视频比例,取值范围0-3 startWithBackCamera:false//true后置摄像头,flase前置摄像头 } } }, function(res){ if (res.result) { var callId = res.data; console.log(callId); } else { //呼叫失败 } });

  1. 接听

在addEventCallback事件中,通过res.type == “onReceive”来接听

var callId = res.data.callId;//在回调中获取通话id sdkwx.accept({ callId:callId, accept:true, //true接受 false拒绝, option:{ videoCaptureParam:{ preferredVideoQuality:4,//视频质量,取值范围0-6 videoCrop:0,//视频比例,取值范围0-3 startWithBackCamera:false//true后置摄像头,flase前置摄像头 } } }, function(res){ console.log(res); });

  1. 挂断

var callId = this.callId;//在回调中获取通话id sdkwx.hangUp(callId, function(res){ console.log(res); });

  1. 显示本地视频

在addEventCallback事件中,通过res.type == “onLocalDisplayviewReady”来显示本地视频,如果只有音频可别忽略此步

//本地视频预览准备好,开始预览本地视频 var avChatView = this.$refs.avChatView; avChatView.startLocalVideo();

  1. 显示远端用户视频

在addEventCallback事件中,通过res.type == “onRemoteDisplayviewReady”来显示远端用户视频,如果只有音频可别忽略此步

//远端视频 var remoteVideoView = this.$refs.remoteVideoView; var user = res.data; remoteVideoView.startRemoteVideo(user);

  1. 切换网络通话摄像头

//选择的摄像头 var camera = 0;//0前置摄像头 1后置摄像头 sdkwx.switchCamera(camera);

  1. 切换网络通话类型

//通话类型 var type = 2;//1音频通话 2视频通话 sdkwx.switchType(type);

  1. 设置网络通话麦克风静音

//是否开启麦克风静音 var mute = true; sdkwx.setMute(mute, function(res){ console.log(res); });

  1. 设置网络通话扬声器模式

//是否开启扬声器 var useSpeaker = true; sdkwx.setSpeaker(useSpeaker, function(res){ console.log(res); });

  1. 指定所有远端用户是否对其静音

//是否静音, 静音后将听不到所有用户的声音 var mute = true; sdkwx.setAllUserAudioMute(mute, function(res){ console.log(res); });

  1. 指定某用户设置是否对其静音

//是否静音, 静音后将听不到用户的声音 var mute = true; var uid = “”;//用户id sdkwx.setAudioMute(mute, uid, function(res){ console.log(res); });

  1. 指定某用户设置是否接收其视频

//是否拒绝视频, 拒绝后将没有该用户视频数据回调 var mute = true; var uid = “”;//用户id sdkwx.setVideoMute(mute, uid, function(res){ console.log(res); });

  1. 设置是否关闭语音发送,包含伴音

//是否关闭语音发送 var mute = true; sdkwx.setAudioSendMute(mute, function(res){ console.log(res); });

  1. 设置禁止发送视频

//是否禁止发送视频 var mute = true; sdkwx.setVideoSendMute(mute, function(res){ console.log(res); });

  1. 开始MP4文件录制, 录制通话过程中自己的音视频内容到MP4文件

var uid = “”;//用户id sdkwx.startRecording(uid);

  1. 停止MP4文件录制

var uid = “”;//用户id sdkwx.stopRecording(uid);

  1. 开始通话录音. 录制通话中所有参与者的声音, 包含混音任务播放的声音, 录制成 aac 或者 wav 文件

sdkwx.startAudioRecording();

  1. 结束通话录音

sdkwx.stopAudioRecording();

  1. 获取当前通话录音文件路径

sdkwx.currentAudioRecordingFilePath(function(res){ console.log(res); });

隐私、权限声明

1. 本插件需要申请的系统权限列表:

相机 麦克风 相册

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件自身不采集任何数据,插件使用的网易云信 SDK采集数据请参考其官方说明:https://netease.im

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问