Android Audio Overview
来源:互联网 发布:网络代购是怎么挣钱 编辑:程序博客网 时间:2024/06/05 03:30
音乐播放器是手机中重要的娱乐应用,我们在开发播放器有可能用到mediaplayer,或者AudioTrack来播放音频文件,对应应用开发者来说,我们只要了解了暴露出来的API就可以了,但是光了解API还是不能全面的理解设计者的理念和思路,无法清楚音频如何选择什么的设备进行输出。下面我们本着探讨的目的来了解下audio的架构,完善我们对audio的了解。
首先看下整个audio的框架结构。
从上图我们可以大概了解了audio的整个架构,各个部分分工明确,下面我们来具体看下他们的具体作用。
JAVA API
Mediaplayer , Audiotrack, AudioService, AudioManager
Mediaplayer 和AudioTrack是我们播放音频时供应用选择的接口,这两者有什么区别呢?mediaplayer运用比较广泛了,它可以把未解码的媒体文件进行解码,然后交给设备去输出,而AudioTrack的功能就比较单一了,它只能播放PCM流的文件(即解码后的文件)。
AudioService监听来自HDMI, FM等应用的intent,通知audiosystem,它其实也监控者音量,实现音量在UI上的同步。
AudioManger给上层提供了访问音量的接口,并控制ringer mode。
AudioSystem 相当于AudioManager 和AudioService的内部类,只供他俩调,设置phone的状态。
User space C++
Multimedia framework – StageFright/AwesomePlayer
1) player的选择,媒体文件的解析
2) 选择解码器,跟OpenMAX IL打交道,解码
AudioFlinger
1) 管理者整个audio的输入输出设备
2) 把多个audiostream整合成一个PCM audio流,指向安排好的输出设备去输出
- Android Audio Overview
- Android Audio system Overview
- Android Audio Overview
- Android 7.0 Audio : Andriod Audio Overview
- 【Android 7.0 Audio 】Andriod Audio Overview
- android Audio OverView之一(framework)
- android Audio OverView之二(hal)
- android Audio OverView之三(driver)
- Core Audio Overview
- Android Audio
- android audio
- android audio
- android Audio
- android audio
- Android audio
- android audio
- Android Audio
- Android: Android NDK Overview
- 详解YUV数据格式
- node.js发送邮件
- Toast的五种效果
- Linux cp命令
- Android读写文件
- Android Audio Overview
- B. Reading
- hdu2068 错排+组合
- maven环境快速搭建
- JAVA经典算法40题
- MFC中按键禁用后,仍响应点击
- Linux上iptables防火墙的基本应用教程
- OpenCV中cvSplit图像的通道分离
- aidl 传递对象