近日,即构科技SDK新增支持Flutter跨平台移动框架的方式接入,开发者基于ZEGO Flutter SDK可简单高效地实现跨平台音视频的功能。

一. 什么是Flutter

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

通过架构图可以看出,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的应用落地,带给我们更多创新性产品。

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

  1. anyRTC Flutter SDK :全面实现跨平台音视频互动

    anyRTC SDK新增支持Flutter跨平台移动框架的方式接入,开发者基于anyRTC Flutter SDK可以简单高效的实现跨平台音视频和实时消息功能.下面先给大家介绍一下什么是Flutter ...

  2. 华为视频编辑服务(Video Editor Kit),助力开发者高效构建应用视频编辑能力

    视频编辑服务(Video Editor Kit)是华为开放给开发者快速构建视频编辑能力的服务,提供视频导入.编辑处理.特效渲染.视频导出.媒体资源管理等一站式视频处理能力.视频编辑服务为全球开发者提供 ...

  3. 华为应用市场发布AppGallery Connect服务,助力开发者高效运营

    码个蛋(codeegg)第 594 次推文 据华为应用市场官方介绍,其将于4月18日正式发布AppGallery Connect(以下简称AG Connect)服务,意在打造全球领先的应用开放平台,全 ...

  4. ZEGO教程:如何通过electron构建桌面跨平台音视频应用

    近年来,视频直播.短视频.在线教育.在线医疗.人工智能.以及VR等视频领域的相关行业都非常热门,成为大众瞩目的焦点.而5G网络的相继普及,移动网速飞速提升,又将引起下一轮视频应用的革命. 可以看到,在 ...

  5. 直播APP开发时:基于腾讯sdk的音视频功能实现

    市面上提供了很多的音视频聊天sdk,在直播APP开发中有很多种选择;假如需求变更导致了现有sdk无法很好的满足需求,需要替换sdk,如果全部重写或者基于原来代码进行魔改,代价太高;所以在前期编码的时候 ...

  6. Pano Flutter SDK 全新发布,跨平台音视频开发更easy

    在过去,每个操作系统的应用需用特定的编程语言来编写,每个客户端都需要单独开发,而现在我们可以利用多种工具.框架进行跨平台开发.Flutter 就是其中最热门的一个,也是在线教育.社交泛娱乐.在线金融等 ...

  7. ZEGO EXPRESS SDK轻松实现Android端四人视频聊天

    前言 (闲聊) 之前在上移动平台开发课的过程中,对android的开发算是有一个大概的初步了解,但是知之甚浅.印象最深刻的就是但凡遇到图片视频方面的处理就会变得非常复杂以及容易出错.那时对于我这个小白 ...

  8. 手机音视频应用开发(专注于Symbian、iPhone、Android等跨平台音视频应用开发方案)

    一款好的手机应用, 能让用户在第一分钟就爱上他, 一款烂的手机应用, 能让用户在第一分钟就要卸载它.  好的应用必须的稳定.快速.市场日益激励,一个项目的周期是一个漫长的过程,投入的时间.精力.费用. ...

  9. 华为音频编辑服务,助力开发者高效创新

    由华为开发者联盟主办的HDD深圳站(Huawei Developer Day)于12月14日成功举行.在现场,华为音频编辑服务(Audio Editor Kit)的多项特性与应用场景吸引了众多开发者的 ...

最新文章

  1. 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
  2. zepto+html5+php实现h5上传头像(移动端)上
  3. axure中的拐弯箭头_Axure 8.0制作水平方向上一直来回移动的箭头
  4. PHP弹窗回送,PHP点点滴滴 一(我抄来滴,非常简单的东西)
  5. C++ primer 14章习题答案
  6. 《MySQL——连接查询》
  7. 12位故去的国家最高科技奖得主:科学寰宇,那些永不陨落的“星”
  8. php防撞库,叉车防撞预警系统的必要性
  9. 解决 pathForResource 返回 nil的问题
  10. 软件产品三步曲(内容、可用性、视觉)
  11. 错误、调试和测试(4)-文档测试
  12. Unity 使用tiledmap解析地图
  13. Word表格内数据换行,Word换行Java实现代码
  14. 要管理此计算机上的用户账户,Win10安装软件用户账户控制提示管理员已阻止运行此应用解决方法...
  15. Git Github操作简易教程
  16. OSPF协议介绍及配置
  17. python 列表作业
  18. 用计算机怎么排列名次,excel如何用RANK函数做升序降序排序排名
  19. python爬取b站搜索结果_Python爬虫实例:爬取猫眼电影——破解字体反爬,Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取,Python爬虫实例:爬取豆瓣Top250...
  20. ### The error may involve defaultParameterMap ### The error occurred while setting parameters

热门文章

  1. STM32做平衡小车,代码,PCB都现成的,妈妈再也不用担心我的毕业设计了
  2. mysql进行mof提权_MySQL数据库Root权限MOF方法提权研究
  3. 【Postman】 测试文件上传、下载
  4. Android平台阿里云安全解决方案总结
  5. 从Oracle官网下载不同版本JDK
  6. SpringBoot全局异常处理及前端请求参数校验
  7. GZSFLbearingCLD
  8. 在CMD中,MySQL怎么清屏
  9. 读书笔记-opencv-投影变换
  10. 计算机闹铃音乐是什么歌,计算器金亿利闹铃都是什么歌