HarmonyOS NEXT-视频流数据处理注意事项

一、前言

关于HarmonyOS开发中,针对相机视频流做数据处理的注意事项说明,查缺补漏有不足的地方大家可以提出来。

二、关于视频流的buffer处理方式

  1. 建议将buffer存储到一个新的地址空间,并且不与ability和组件做绑定,如下代码可以实现针对arraybuffer的copy,其他类型可以自行查找api进行同样效果的操作。
 // TODO 解决退出界面释放资源后导致的数据被销毁问题
    let dataBuffer: ArrayBuffer = buffer.slice(0, buffer.byteLength);
    if (dataBuffer.byteLength == 0) {
      return result;
    }

其中slice()函数这里说明下:
slice
slice(start?: number, end?: number, type?: string): Blob

创建并返回一个复制原Blob对象中指定数据长度的Blob新对象。

  1. 异步处理数据的过程尽量和组件的生命周期相同
    简单来说就是组件销毁,处理的数据的过程也要及时销毁或停止,包括后台切换等等。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容