Android 音频开发——Audio概览(八)

news/2024/10/31 3:27:05/

        Audio 是 Android 系统中比较重要的一个模块,在 Android 中负责音频方面的数据流传输和控制功能,也负责音频设备的管理。

一、系统架构

        Android 音频架构定义了音频功能的实现方式,并指出实现中所涉及的相关源代码。

应用框架

        应用框架包含应用代码,该代码使用 android.media API 与音频硬件进行交互。在内部,此代码会调用相应的 JNI 粘合类来访问与音频硬件互动的原生代码。 

JNI

        与 android.media 关联的 JNI 代码会调用较低级别的原生代码来访问音频硬件。JNI 位于 frameworks/base/core/jni/ 和 frameworks/base/media/jni 中。

原生框架

        原生框架提供相当于 android.media 软件包的原生软件包,它调用 Binder IPC 代理来访问媒体服务器的音频专属服务。 原生框架代码位于 frameworks/av/media/libmedia 中。

Binder IPC

        Binder IPC 代理用于促进跨越进程边界的通信。代理位于 frameworks/av/media/libmedia 中,并以字母“I”开头。

媒体服务器

        媒体服务器包含音频服务,这些音频服务是与您的 HAL 实现进行交互的实际代码。媒体服务器位于 frameworks/av/services/audioflinger 中。


http://www.ppmy.cn/news/65800.html

相关文章

PPPoE工作原理

协议原理 数字用户线路DSL(Digital Subscriber Line)是以电话线为传输介质的传输技术,人们通常把所有的DSL技术统称为xDSL,x代表不同种类的数字用户线路技术。目前比较流行的宽带接入方式为ADSL,ADSL是非对称DSL技术,使用的是PPPoE(PPP over Ethernet)协议。 PPPoE(PPP…

tcp cubic 与随机丢包

前面提到过一个 AIMD 的修正方法,“二次机会 MD”:首次丢包只 MD 收缩一个相对较小的比例,再次丢包时再继续收缩,直到 beta * Wmax。 效果如下图: 大意是在检测到丢包时,先 MD 一个相对小的缩放比例&…

电脑缺少msvcp140.dll怎么办,缺少msvcp140一键修复方法

电脑缺少msvcp140.dll怎么办?这个问题相信不少小伙伴都遇到过,msvcp140.dll文件是很多软件跟游戏运行必须用到的文件,如果丢失或者损坏,很多软件都会无法打开运行。其实知道知道方法,修复起来其实也不会很难&#xff0…

路由器配置方法(固定地址)

前言 由于学校给分配了IP地址,因此我们的路由器接入的时候不能选择自动接入方式,而要选择固定地址方式。 step 1 我们首先先将路由器接上网线,这里注意一定要接wan口 因为路由器分为两个口,wan口是入口,lan口是出口…

我们花一个月调研了小红书种草的新机会和增长策略

分析师:Jane、彬超 编辑:yolo 出品:增长黑盒研究组 *本报告为增长黑盒独立研究系列, 与第三方不存在任何利益关系 随着618的临近,小红书再次成为了品牌重要的“营销战场”。面临着经济环境的不确定性,想必各…

性能测试-电商系统tps计算方法【杭州多测师_王sir】【杭州多测师】

怎么计算得出tps指标?1.第一个通过运维那边给的生产数据,看一下生产进件有多少,计算得来的,如果没有生产数据,或者不过就看如下的方法2.第二个就是根据最近一个月的实际访问数据,比如每天调用了多少个接口&…

ChatGPT使用9大技巧详解

目录 技巧1:To Do and Not To Do 技巧2:增加示例 技巧3:使用引导词,引导模型输出特定内容

javaweb前置知识

1.CSS CSS的角色:页面显示的美观风格CSS的基础语法:标签样式;类样式;ID样式;组合样式;嵌入式样式表;内部样式表;外部样式表盒子模型:border、margin、padding定位和浮动…