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

网站代理做反向深圳全网推广服务

网站代理做反向,深圳全网推广服务,wordpress 生成app,采购管理一、Android 13音频代码结构 1、framework: android/frameworks/base 1.AudioManager.java :音频管理器,音量调节、音量UI、设置和获取参数等控制流的对外API 2.AudioService.java :音频系统服务(java层)&#xff0c…

一、Android 13音频代码结构

1、framework:

android/frameworks/base

1.AudioManager.java :音频管理器,音量调节、音量UI、设置和获取参数等控制流的对外API

2.AudioService.java :音频系统服务(java层),音量调节、音量UI、音频设备插拔等控制流的具体实现

3.AudioSystem.java :音频控制的入口,是native层对上服务的接口

android/frameworks/av

1.AudioFlinger.cpp :音频系统的核心一,承担音频数据流AudioTrack和AudioRecord的混音、重采、输送等责任

2.AudioPolicyService.cpp :音频系统的核心二,负责音频策略,包含Audio HAL的加载,音频路由的选择等

2、HAL

android/hardware/aw/audio/ :AudioFlinger与音频驱动之间的对接层,匹配android系统与硬件的关键层

3、整体框图

其中运行在AudioServer进程中的AudioFlinger和AudioPolicyService,以及运行在SystemServer进程中的AudioService这三个模块是Android音频子系统的核心

(1)播放

通过C++类AudioTrack将音频数据写入AudioTrack和AudioFlinger都能访问的共享内存中,该共享内存由audio_track_cblk_t管理。AudioFlinger在接收到数据后,调过自己的播放线程输出

(2)录音:

硬件设备采集PCM数据,AudioFlinger使用AudioStreamIn将数据读取到共享内存,AudioRecord则从共享内存中在读取这些数据。

HAL----->AudioFlinger------->共享内存------>AudioRecord

二、ASoC音频驱动构成

1、ASoC音频驱动由三部分构成:platform,codec,machine

(1)Machine

        单独的 Platform 和 Codec 驱动是不能工作的,它必须由 Machine 驱动把它们结合在一起才能完成整个设备的音频处理工作。

Machine :可以理解为对开发板的抽象,开发板可能包括多个声卡,对应Machine部分包含多个link。

dai_link:machine驱动中定义的音频数据链路,它指定用到的cpu_dai、codec_dai

(2)Platform

        它包含了该 SoC 平台的音频 DMA 和音频接口的配置和控制(I2S,PCM 等等);一般不包含与板子或 codec 相关的代码。

        在具体实现上,ASoC又把Platform驱动分为两个部分:snd_soc_platform_driver和snd_soc_dai_driver。其中,platform_driver负责管理音频数据,把音频数据通过dma或其他操作传送至cpu dai中,dai_driver则主要完成cpu一侧的dai的参数配置,同时也会通过一定的途径把必要的dma等参数与snd_soc_platform_driver进行交互。

cpu dai:在嵌入式系统里面通常指CPU的I2S、PCM总线控制器,负责将音频数据从I2S tx FIFO搬运到CODEC(回放的情形,录制则方向相反)。cpu_dai通过snd_soc_register_dai()来注册。

(3)Codec

        它包含了一些音频的控件 (Controls),音频接口,DAMP(动态音频电源管理)的定义和某些 Codec IO 功能。为了 保证硬件无关性,任何特定于平台和机器的代码都要移到 Platform 和 Machine 驱动中。

2、PCM数据流

回放

录音

3、ASoC音频驱动注册流程

 主要步骤为下述部分:

4、 ALSA设备文件结构  

contro1C0   ------>              用于声卡的控制,例如通道选择,混音,麦克风的控制等。pcmC0D0c    ------>              用于录音的pcm设备pcmC0D0p    ------>              用于播放的pcm设备seq         ------>              音序器timer       ------>               定时器

        其中,C0D0代表的是声卡0中的设备0,pcmC0D0c最后一个c代表capture,pcmC0D0p最后一个p代表playback,这些都是alsa-driver中的命名规则。

http://www.yidumall.com/news/19394.html

相关文章:

  • 网上有做任务赚钱的网站seo关键词排名优化专业公司
  • 做设计开店的网站免费网页制作平台
  • wordpress按照浏览量排序关键词优化报价
  • 做ps的赚钱的网站有哪些爱站在线关键词挖掘
  • 网站建立的关键技术发布软文的平台有哪些
  • 网站公司深圳百度推广投诉中心
  • 高平网站优化公司百度收录推广
  • 用html做网站的背景图怎么弄网页制作app
  • wordpress 主题全屏seo优化公司哪家好
  • 做联盟 网站 跳转 防止垃圾外链深圳seo公司排名
  • 做微信公众号微网站吗辅导机构
  • 秦皇岛网站建设哪家好百度公司在哪里
  • 做网站生意推广引流app
  • 安康做网站的公司电话网站搜索引擎优化方案
  • 上海做网站公司做网站的公司有哪些简述网站建设的一般流程
  • 网站百度不到seowhy官网
  • 哪家公司建换电站免费seo网站的工具
  • 济南商城网站建设网站推广交换链接
  • 网站访问统计js代码搜索引擎哪个好用
  • 做单挣钱的网站seo教育
  • 高职学院网站建设方案手机卡顿优化软件
  • wordpress 添加评论等级沈阳seo网站推广
  • 做网站还是博客旅游企业seo官网分析报告
  • 做网站 赚钱吗如何自己建一个网站
  • 网站建设一般多少钱比较合适乐天seo视频教程
  • 宁波网站建设怎么建设郑州网站关键词推广
  • 播放器网站怎么做沧州网站建设优化公司
  • 做网站小程序搜索引擎营销seo
  • 哪个网站可以代做软件整站优化报价
  • 网站进入百度沙盒株洲网站设计外包首选