功能分层 |
代码分布 |
描述 |
音频应用业务层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 |
andio:android 音频的代码层次关系
最新推荐文章于 2024-06-24 16:05:38 发布
本文深入探讨了Android平台下音频处理的代码层次结构,特别关注于ALSA子系统,阐述了如何在Android中实现音频播放和录制的底层机制,为Android音频开发者提供关键理解。
摘要由CSDN通过智能技术生成