ZEGO Flutter SDK 助力开发者高效实现跨平台音视频功能

近日,即构科技SDK新增支持Flutter跨平台移动框架的方式接入,开发者基于ZEGO Flutter SDK可简单高效地实现跨平台音视频的功能。
在这里插入图片描述
一. 什么是Flutter

Flutter是Google基于Dart语言开发的跨平台移动应用开发框架,开发者通过编写一份Dart代码可同时在iOS和Android平台下构建高性能、高保真、低延迟的应用程序。Flutter本身提供了丰富的UI组件,开发者可以更快速地构建精美界面的跨平台APP;同时,Flutter提供了Dart层与Native层之间的通信机制,开发者可以很容易实现Native插件的扩展,极大降低开发成本。
Flutter架构图
通过架构图可以看出,Flutter框架主要由两大部分组成:

  1. Framework:对开发者可见的接口层,由纯Dart代码实现。最上层封装了Material和Cupertino风格的两套UI组件,开发者可以根据Flutter提供的各种Widget小部件组合出与原生风格无异的界面。同时,Framework层提供用于处理动画、绘图和手势的部件,加速开发者实现媲美原生体验的精美应用。

  2. Engine:底层引擎,由C++代码实现。Engine包括开源2D图形库Skia、Dart运行时、文本渲染引擎等。通过Skia跨平台图形引擎的硬件加速渲染,实现了iOS与Android界面的一致性与高流畅性。

二. Flutter如何进行视频渲染

Flutter提供两种渲染视频的方式,分别是Texture Widget和Platform View。

1.Texture Widget:外接纹理。Flutter提供Native API向开发者索要一帧帧的视频数据(iOS端为CVPixelBufferRef、Android端为SurfaceTexture),将视频输入源交给开发者处理,最终Dart端通过Native端回调的Texture ID确定需要渲染的内容。TextureLayer作为Layer Tree的一个节点,其渲染内容由Native端提供,以实现外接纹理渲染视频的效果。

2.Platform View:嵌入“原生”视图。Flutter 1.0 发布版提供了iOS和Android原生View的展示部件,允许开发者复用已有的Native View(诸如地图库、视频播放器库等比较重的视图库),且做到性能与原生Native View相近。

ZEGO Flutter SDK支持上述两种方式的视频渲染,但由于Flutter Team 对Platform View仍处于开发阶段,在Github上还存在不少issue,由此目前推荐使用Texture Widget的方式进行视频渲染。

三. ZEGO Flutter SDK 集成指引及示例DEMO

参考地址:https://github.com/zegoim/zego-flutter-sdk

加上Flutter,目前即构全面支持iOS、Android、Web、小程序、Windows、macOS、Linux和Electron共九大开发平台,为企业开发者进行自主集成提供了更多可能性,期待越来越多基于即构SDK的应用落地,带给我们更多创新性产品。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值