更新记录
1.0.5(2020-09-28)
新增网络测试接口
1.0.4(2020-09-25)
增加网络检测接口
1.0.3(2020-09-01)
增加currentCallID接口
查看更多平台兼容性
Android | iOS |
---|---|
× | √ |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择
网易云信音视频通话接口说明
- 视频控件对象
var avChatView = this.$refs.avChatView; var remoteVideoView = this.$refs. remoteVideoView;
注意: a. 嵌入av_chat_view视频控件,当前页面必须是.nvue页面;如果只需集成音频,忽略此步,vue页面即可 b. 获取视频控件必须在mounted回调之后,不能在onLoad里面获取
- 音视频插件对象
var sdkwx = uni.requireNativePlugin('YXIM-AVChat');
- 添加音视频事件监听
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") { //录制发生了错误 } }
- 移除音视频事件监听
sdkwx.removeEventCallback();
- 主动呼叫
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 { //呼叫失败 } });
- 接听
在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); });
- 挂断
var callId = this.callId;//在回调中获取通话id sdkwx.hangUp(callId, function(res){ console.log(res); });
- 显示本地视频
在addEventCallback事件中,通过res.type == “onLocalDisplayviewReady”来显示本地视频,如果只有音频可别忽略此步
//本地视频预览准备好,开始预览本地视频 var avChatView = this.$refs.avChatView; avChatView.startLocalVideo();
- 显示远端用户视频
在addEventCallback事件中,通过res.type == “onRemoteDisplayviewReady”来显示远端用户视频,如果只有音频可别忽略此步
//远端视频 var remoteVideoView = this.$refs.remoteVideoView; var user = res.data; remoteVideoView.startRemoteVideo(user);
- 切换网络通话摄像头
//选择的摄像头 var camera = 0;//0前置摄像头 1后置摄像头 sdkwx.switchCamera(camera);
- 切换网络通话类型
//通话类型 var type = 2;//1音频通话 2视频通话 sdkwx.switchType(type);
- 设置网络通话麦克风静音
//是否开启麦克风静音 var mute = true; sdkwx.setMute(mute, function(res){ console.log(res); });
- 设置网络通话扬声器模式
//是否开启扬声器 var useSpeaker = true; sdkwx.setSpeaker(useSpeaker, function(res){ console.log(res); });
- 指定所有远端用户是否对其静音
//是否静音, 静音后将听不到所有用户的声音 var mute = true; sdkwx.setAllUserAudioMute(mute, function(res){ console.log(res); });
- 指定某用户设置是否对其静音
//是否静音, 静音后将听不到用户的声音 var mute = true; var uid = “”;//用户id sdkwx.setAudioMute(mute, uid, function(res){ console.log(res); });
- 指定某用户设置是否接收其视频
//是否拒绝视频, 拒绝后将没有该用户视频数据回调 var mute = true; var uid = “”;//用户id sdkwx.setVideoMute(mute, uid, function(res){ console.log(res); });
- 设置是否关闭语音发送,包含伴音
//是否关闭语音发送 var mute = true; sdkwx.setAudioSendMute(mute, function(res){ console.log(res); });
- 设置禁止发送视频
//是否禁止发送视频 var mute = true; sdkwx.setVideoSendMute(mute, function(res){ console.log(res); });
- 开始MP4文件录制, 录制通话过程中自己的音视频内容到MP4文件
var uid = “”;//用户id sdkwx.startRecording(uid);
- 停止MP4文件录制
var uid = “”;//用户id sdkwx.stopRecording(uid);
- 开始通话录音. 录制通话中所有参与者的声音, 包含混音任务播放的声音, 录制成 aac 或者 wav 文件
sdkwx.startAudioRecording();
- 结束通话录音
sdkwx.stopAudioRecording();
- 获取当前通话录音文件路径
sdkwx.currentAudioRecordingFilePath(function(res){ console.log(res); });