android 环信录音,环信音视频插件

更新记录

1.0.1(2020-12-13)

解决插件和微信小程序不通的问题

Android端增加日志文件输出

1.0.0(2020-11-26)

1.0.0

发布原生的推流 拉流组件 ,配合环信Web-SDK可快速集成音频通话、视频通话、音视频连麦等功能

查看更多

平台兼容性

Android

iOS

适用版本区间:4.4 - 11.0 支持CPU类型:armeabi-v7a,arm64-v8a,x86

适用版本区间:9 - 14

原生插件通用使用流程:

购买插件,选择该插件绑定的项目。

在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。

根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。

打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。

开发完毕后正式云打包

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

环信音视频插件集成

集成步骤参考:集成参考

环信音视频插件接口说明

环信音视频插件包括推流插件和拉流插件,都使用自定义组件component,接口说明如下

推流插件

推流插件负责发布流,显示本地视频,组件名称为emlive-pusher,前端使用如下

插件属性

属性名称

类型

描述

ref

String

页面根据ref找到该组件

style

String

h5组件原生属性,插件不用管理,需要处理updateStyles回调方法

muted

BOOL

是否静音

enableCamera

BOOL

是否打开摄像头

devicePosition

String

使用摄像头,front为前置,back为后置

videoWidth

Int

视频分辨率宽

videoHeight

Int

视频分辨率高

minBitrate

Int

最小视频码率

maxBitrate

Int

最大视频码率

mirror

BOOL

是否镜像,Android独有,iOS没有

objectFit

String

填充方式,fit和fill

isClarityFirst

BOOL

是否清晰度优先

rtcLogToConsole

BOOL

是否将Rtc日志输出到控制台

插件事件

事件名称

描述

bindstatechange

状态变化事件,detail={code, info},code为状态码,info为描述

bindnetstatus

网络状态通知,detail={code, info},code为状态码,info为描述

callbackData

数据回调通知,detail={type,data},type为类型,分feature、log、custom,若为feature,前端要把data转发给服务器,包括信令交互、音频、视频管理操作等;打开rtcLogToConsole后,Rtc日志从这里回调上去

callbackStats

通话质量统计,detail={data},data为通话质量数据,包括视频分辨率、码率、丢包率等

code状态码

code值

info

描述

2000

{isPusher,streamId,description:"RTCIceConnectionStateNew"}

建立流媒体链接

2001

{isPusher,streamId,description:"RTCIceConnectionStateChecking"}

检测流媒体连接状态

2002

{isPusher,streamId,description:"RTCIceConnectionStateConnected"}

流媒体连接成功

2003

{isPusher,streamId,description:"RTCIceConnectionStateCompleted"}

流媒体连接过程完成

2004

{isPusher,streamId,description:"RTCIceConnectionStateFailed"}

流媒体连接失败

2005

{isPusher,streamId,description:"RTCIceConnectionStateDisconnected"}

流媒体断开连接

2006

{isPusher,streamId,description:"RTCIceConnectionStateClosed"}

流媒体关闭连接

2100

send first audio frame

发送音频首帧

2101

send first video frame

发送视频首帧

2104

audio has no data

音频无数据

2105

video has no data

视频无数据

3000

open camera fail

打开摄像头失败

3001

open mic fail

打开麦克风失败

4000

net connected

网络已连接

4001

net poor quality

网络不稳定

4002

net disconnected

网络已断开

插件api

api

描述

start({uId,sessId,rtcCfg,tktId,reopen})

开始推流,相当于原来的pubStream,uId为环信登录Id,sessId和rtcCfg为服务器返回,tktId为成员ticketId,重连时reopen传true |

stop

停止推流,相当于原来的unpubStream

setData({data})

设置从服务器收到的sdp、candidate等

拉流插件

拉流插件负责订阅流,显示对方视频,组件名称为emlive-player,前端使用如下

插件属性

属性名称

类型

描述

ref

String

页面根据ref找到该组件,可以关联streamId

style

String

h5组件原生属性,插件不用管理,需要处理updateStyles回调方法

objectFit

String

显示模式,fill/fit

muted

BOOL

对方是否打开音频

enableCamera

BOOL

对方是否打开视频

rtcLogToConsole

BOOL

是否将Rtc日志输出到控制台

openSpeaker

BOOL

是否打开扬声器

插件事件

事件名称

描述

bindstatechange

状态变化事件,detail={code, info},code为状态码,info为描述

bindnetstatus

网络状态通知,detail={code, info},code为状态码,info为描述

callbackData

数据回调通知,detail={type,data},type为类型,分feature、log、custom,若为feature,前端要把data转发给服务器;打开rtcLogToConsole后,Rtc日志从这里回调上去

callbackStats

通话质量统计,detail={data},data为通话质量数据,包括视频分辨率、码率、丢包率等

code状态码

code值

info

描述

2000

{isPusher,streamId,description:"RTCIceConnectionStateNew"}

建立流媒体链接

2001

{isPusher,streamId,description:"RTCIceConnectionStateChecking"}

检测流媒体连接状态

2002

{isPusher,streamId,description:"RTCIceConnectionStateConnected"}

流媒体连接成功

2003

{isPusher,streamId,description:"RTCIceConnectionStateCompleted"}

流媒体连接过程完成

2004

{isPusher,streamId,description:"RTCIceConnectionStateFailed"}

流媒体连接失败

2005

{isPusher,streamId,description:"RTCIceConnectionStateDisconnected"}

流媒体断开连接

2006

{isPusher,streamId,description:"RTCIceConnectionStateClosed"}

流媒体关闭连接

2102

receive first audio frame

接收到音频首帧

2103

receive first video frame

接收到视频首帧

2104

audio has no data

音频无数据

2105

video has no data

视频无数据

4000

net connected

网络已连接

4001

net poor quality

网络不稳定

4002

net disconnected

网络已断开

插件api

api

描述

play({streamId,sessId,rtcCfg,uId,reopen})

开始拉流,相当于原来的subStream,sessId,rtcCfg从服务器获取,uId为环信登录Id,重连时reopen传true

stop

停止拉流,相当于原来的unsubStream

setData({data})

设置从服务器收到的sdp、candidate等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值