android audio/linux alsa音频-框架
程序员文章站
2023-08-15 13:05:41
音频部分一直是linux/android开发的难点之一。
linux早期使用的音频是oss(open sound system),由于种种原因(大家可以google),目前广泛使用的是alsa(ad...
音频部分一直是linux/android开发的难点之一。
linux早期使用的音频是oss(open sound system),由于种种原因(大家可以google),目前广泛使用的是alsa(advanced linux sound architecture),alsa是一个开源项目。
android音频框架的结构图如下所示:
(1)application: 音频系统的最上层,它由app程序调用系统的api类实现音乐播放器、游戏声音、音效、录音等,这些api类主要有mediaplayer,mediarecorder,audiotrack,audiorecord等。
(2)framework:实现api类和服务管理类mediaservice,audiosystem,audiomanager。这些类用java语音实现,代码放在frameworks/base/media/java/android/media下,在内部实现时很多是简单地调用了libraries的代码。
(3)libraries:包括c\c++实现的jni代码,重要的有audioflinger,audioplicyservice,audiomixer等。代码放在frameworks/av/media/libmedia。
(4)hal层:实现audio_hw_device和audio_policy_hal,实现与alsa的音频接口,实现音频路径的创建和连接。
上一篇: 10 套华丽的CSS3 按钮小结
推荐阅读
-
iOS使用音频处理框架The Amazing Audio Engine实现音频录制播放
-
android audio/linux alsa音频-框架
-
arm linux利用alsa驱动并使用usb音频设备
-
Linux音频编程(一)ALSA介绍
-
iOS使用音频处理框架The Amazing Audio Engine实现音频录制播放
-
android audio/linux alsa音频-框架
-
ALSA-ASOC音频驱动框架简述
-
Linux音频设备驱动_OSS驱动框架(二)————OSS驱动架构代码vmsnd.c
-
android audio/linux alsa音频-Master Clock和DAI Clocks
-
Linux音频编程(一)ALSA介绍