当前位置: 首页 > news >正文

OpenHarmony标准系统-HDF框架之音频驱动开发

请添加图片描述

文章目录

  • 引言
  • OpenHarmony音频概述
  • OpenHarmony音频框图
  • HDF音频驱动框架概述
  • HDF音频驱动框图
  • HDF音频驱动框架分析之音频设备驱动
  • HDF音频驱动框架分析之supportlibs实现
  • HDF音频驱动框架分析之hdi-passthrough实现
  • HDF音频驱动框架分析之hdi-bindev实现
  • HDF音频驱动加载过程
  • HDF音频驱动播音流程分析
  • HDF音频驱动录音流程分析
  • HDF音频驱动实现总结


引言

OpenHarwony操作系统为了做到给干行百业(教育、金融、工业等)提供全场景(移动办公、社交通信运动健康等)业务能力,达到设备快速互联,硬件互助,资源共享:统一OS,,一次开发多端弹性部署的目标。在此背景下OpenHarwony提出在传统的单设备系统能力基础上,基于同一套系统能力、适配多种终端形态的分布式理念,并且内核层、系统服务层、框架层和应用层做了全新的设计与开发。

内核层作为OpenHarwony最底层设计,包括支持多内核以及全新硬件驱动框架(HDF)。同时随着电话被发明应用到如今的智能语音等等,音频应用的形态和场景也是越来越丰富。在这两个大背景下,音频需要支撑从轻设备到富设备应用需求,所以OpenHarmony下基于HDF驱动框架的音频驱动实现也存在多种方式:
1.轻设备直驱
2.富设备用户态驱动
3.富设备内核态驱动


OpenHarmony音频概述

根据OpenHarwony 系统的自下而上的层次结构划分:内核层、系统服务层、框架层和应用层。下面简要概述为实现OpenHarmony音频功能,各个层次做了哪些工作。
内核层包含两方面,内核子系统和驱动子系统。这层主要以HDF驱动框架为基础实现音频codec驱1)动,audi0 HDI接口的封装。由于产品形态和解决方案的多样化,音频codec的驱动方式也分用户态驱动方式和内核态驱动方式来实现。音频codec驱动工作后需要对硬件资源进行统一抽象封装,对上层暴露统一的音频接口,这样做的目的就是符合音频规范化操作,保证生态良性发展。2)系统服务层主要是通过PulseAudio框架对audi0 HDl的调用来获取音频驱动能力。之后基于PulseAudio框架实现AudioSustewManager和AudioServiceClient,前者对音频服务进行管理,对音频流进行管理。最后napi实现,并且sa_main会根据sa_profile会将商频的SA(system ability)拉起。3)框架层的abilitu框架和ui框架等就会根据系统层提供的音频能力进行相应的调用,实现应用的FA(Feature Ability)和PA(Particle Ability).4)应用层则是根据应用需求和场景调用相应的FA和PA进行打包生成.

相关文章:

  • leetcode77.组合:回溯算法中for循环与状态回退的逻辑艺术
  • LeetCode - 206. 反转链表
  • 软件性能之CPU
  • leetcode hot100刷题日记——30.两数之和
  • 设计模式——单例设计模式(创建型)
  • 【MFC】如何设置让exe的控制台不会跟着exe退出而退出
  • 【KWDB 创作者计划】_探秘浪潮KWDB数据库:从时间索引到前沿技术
  • C++ 重载(Overload)、重写(Override)、隐藏(Hiding) 的区别
  • 【Hot 100】121. 买卖股票的最佳时机
  • acwing刷题
  • 江科大IIC读取MPU6050hal库实现
  • 在Windows本地部署Dify详细操作
  • Linux入门(十二)服务管理
  • 建筑兔零基础人工智能自学记录101|Transformer(1)-14
  • LG P5048 [Ynoi2019 模拟赛] Yuno loves sqrt technology III Solution
  • 若依框架-定制化服务搭建
  • 信息安全之什么是公钥密码
  • 大模型应用开发之预训练
  • vue3的watch用法
  • 产品规格书写作结构、规范(编写指南)
  • 做网站挣钱吗/优秀的软文广告案例
  • 网站后台编辑不了/百度seo高级优化
  • 网站建设属于什么领域/广告投放的方式有哪些
  • 整站排名优化品牌/四平网络推广
  • 哈尔滨建站哪个好/台州网站建设方案推广
  • 在线做简单的网站/网推渠道