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

Android Audio开发——AAudio基础(十五)

        AAudio 是一个自 Android O 引入的新的 Android C API。它主要是为需要低延迟的高性能音频应用设计的。应用程序通过直接从流中读取或向流中写入数据来与 AAudio 通信,但它只包含基本的音频输入输出能力。

一、AAudio概述

        AAudio 在应用程序和 Android 设备上的音频输入输出之间移动音频数据。应用程序传入音频流和从音频流读取数据来实现这种音频数据的传递。AAudio 的实现围绕音频数据传递,围绕音频流进行。

        AAudio 的数据传递主要有两种工作模式,一种是 MMap 模式,此时客户端 AAudio 库从 media.aaudio 服务获得一块共享内存,并通过这块共享内存将数据传给设备;另一种是所谓的传统模式,此时客户端 AAudio 的接口基于传统的 android::AudioTrack 和 android::AudioRecord 实现,与 Java 的 AudioTrack 和 AudioRecord 实现使用相同的组件。真正能够实现 AAudio 文档中说明的性能和延迟优势的是基于 mmap 的共享内存与设备传递数据的工作模式。

AAudio 库的实现主要包括这样几个模块:

API 接口:它们直接实现了在应用程序中调用的 AAudio C 接口,相关代码位于 libaaudio/src/core 目录。
legacy:基于传统的 android::AudioTrack 和 android::AudioRecord 接口实现的音频流,相关代码位于 libaaudio/src/legacy 目录。
binding:客户端绑定,主要用于与 media.aaudio 服务通信,如向 media.aaudio 发送请求&

http://www.lryc.cn/news/93302.html

相关文章:

  • SDK接口远程调试【内网穿透】
  • Mybatis学习笔记二
  • 大屏数据可视化开源项目
  • 面试经典150题:数组/字符串合集
  • Java源文件的执行过程
  • 10个ai算法常用库java版
  • 怎么看服务器带宽大小 103.219.179.X
  • 图形编辑器开发:最基础但却复杂的选择工具
  • apk签名-signapk.jar
  • 【100个高大尚求职简历】简历模板+修改教程+行业分类简历模板 (涵盖各种行业) (简历模板+编辑指导+修改教程)
  • Nginx平滑升级版本或添加模块
  • 高阶复杂网络重建:从时间序列中重建高阶网络
  • Day05 03-MySQL主从-主主原理与搭建详解
  • STL之vector
  • 2020年CSP-J认证 CCF非专业级别软件能力认证第一轮真题-单项选择题解析
  • vscode Delete `␍⏎·····`
  • 读书笔记-《ON JAVA 中文版》-摘要16[第十六章 代码校验]
  • SQL Server:打造高效数据管理系统的利器
  • 代码随想录二刷day20 | 二叉树之 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
  • python基础知识(十三):numpy库的基本用法
  • 【SA8295P 源码分析】16 - TouchScreen Panel (TP)线程函数 tp_recv_thread() 源码分析
  • Python3数据分析与挖掘建模(13)复合分析-因子关分析与小结
  • 【stable diffusion】图片批量自动打标签、标签批量修改(BLIP、wd14)用于训练SD或者LORA模型
  • TCP可靠数据传输
  • Python 私有变量和私有方法介绍
  • Kotlin Lambda表达式和匿名函数的组合简直太强了
  • uniapp 小程序 获取手机号---通过前段获取
  • 面板安全能力持续增强,新增日志审计功能,1Panel开源面板v1.3.0发布
  • k8s学习-CKS考试必过宝典
  • jmeter如何将上一个请求的结果作为下一个请求的参数