andio:android 音频的代码层次关系

本文深入探讨了Android平台下音频处理的代码层次结构,特别关注于ALSA子系统,阐述了如何在Android中实现音频播放和录制的底层机制,为Android音频开发者提供关键理解。
摘要由CSDN通过智能技术生成

功能分层

代码分布

描述

音频应用业务层layer1

如录音应用:

/trunk/vendor/mediatek/proprietary/packages/apps/iSMS…../Recorder.java

应用业务

音频接口(layer2)android.media.xx类

\frameworks\base\media\java\android\media

提供应应用层的客户端控制方法java(start/stop/setparameter等):如下

android.media.AudioFormat

android.media.MediaPlayer(包括:

视频;音频;FM等应用都是统一调用该播放接口)

android.media.MediaRecorder;

AudioEffect.java---音效设置(eq等)

….

例如:应用要开启一个视频播放器进行播放, 需要以下几行代码:

MediaPlayer mp = new MediaPlayer();

/// 设置播放器Suface 

mp.setDisplay (...); mp.setDataSource(PATH_TO_FILE); ///设置媒体URI 

mp.prepare();  /// 初始化播放器 

mp.start();  /// 开始播放

参考:VideoPlayer.java的用法。

 

音频JNI(layer3)

libmedia_jni.so

1.\frameworks\base\media\jni

2.android_media_AudioEffect音频效果

生层:libmedia_jni.so

1.jni本地方法接口;

2.音效参数loadding的接口;

音频media本地库-layer4

(libmedia.so)

\frameworks\av\media\libmedia

提供与layer2一致的客户端的控制方法cpp

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值