3月开发者热门问题

小程序端SDK相关问题以及 小程序和Web SDK互通的常见问题:


  1. 小程序和 Web 互通时,Web 端可以看到小程序的视频,但小程序看不到 Web 端的视频?
    Web 与小程序互通时,Web 端只支持 H264 模式的编码,不支持 VP8。将 Web SDK 的 index.html 文件修改为如下设置即可: client = AgoraRtc.createClient({mode: “live”, codec: “h264”});

  2. 小程序初始化失败,报901或者903、
    901和903问题首先要在声网控制台确认是否开启了小程序的服务权限,如图所示选中项目进行开启或者查看。
    然后确认是否开启了项目证书鉴权,开启后需要传入token加入频道。

  3. 小程序和 Web 4.X 无法互通问题。
    注意目前因为Web 4.X的一些特性,小程序暂时无法和Web 4.X进行互通,这个问题会在近期进行修复,如果短期内有互通需求,可以在工单提供线上的appid,我们来处理接入权限。目前建议使用小程序的业务暂时集成 3.X 的Web SDK来避免问题

  4. 微信小程序可以在 WebView 网页中调用 Agora Web SDK 的接口吗?
    微信小程序目前不支持在 WebView 网页中调用 Agora Web SDK 的接口。 要在微信小程序中快速实现实时音视频功能,你可以在小程序项目中集成 Agora 微信小程序 SDK。

Flutter和RN上如何接入第三方美颜:


Flutter和RN上目前在官网中还未提供自采集和自渲染的接口方法,这里需要集成额外的裸数据插件

RN裸数据插件:https://www.npmjs.com/package/react-native-agora-rawdata

Flutter裸数据插件:https://pub.dev/packages/agora_rtc_rawdata。

这里需要fork下完整的仓库,然后在原生的裸数据写法对接三方美颜

原始视频数据onCaptureVideoFrame在没有报错的情况下回调不触发的可能原因:


onCaptureVideoFrame, 获取本地摄像头采集到的视频数据。但是这个数据格式是有要求的,在裸数据的demo中也有注释(Video frame information. The video data format is YUV420.)即数据格式要求YUV。

虽然camera确实支持两种数据格式,一种是NV21(本质上是YUV),一种是纹理(简单理解为图片)。SDK采集目前都是YUV的, 不是Texture。而自采集有两种方式,Push 方式和mediaIO 方式。

限制一: 自采集的Texture形式,不会回调onCaptureVideoFrame。

限制二: Push的方式,也不会回调onCaptureVideoFrame。