播放接口:AudioTrack
录制接口:AudioRecord
系统控制接口:AudioSystem
Audio系统框架分为三个进程:Audio客户端、main_mediaserver和servicemanager,两个服务:AudioFlinger和AudioPolicyservice;真正干活的都是在两个服务中。
流程介绍
播放流程:
1、AudioTrack::AudioTrack-->native_setup-->JNI-->android_media_AudioTrack_native_setup(+native_start)--> {AudioTrack* lpTrack = new AudioTrack()} gAudioFlinger=AudioSystem::get_audio_policy_service-->defaultServiceManager::getService(String16("media.audio_policy"))-->lpTrack->set-->AudioTrack::set-->AudioTrack::createTrack_l-->mAudioTrack=BpaudioFlinger->createTrack--》
--> BpAudioTrack::Transact<====>BnAudioTrack::onTransact-->TrackHandle::start-->

本文详细介绍了Android系统中AudioTrack和AudioRecord的调用流程,包括播放和录制的步骤。Audio系统分为三个进程:Audio客户端、main_mediaserver和servicemanager,涉及AudioFlinger和AudioPolicyService两个服务。通过Binder通信,AudioTrack和AudioRecord与AudioFlinger交互,实现音频的播放和录制。此外,还提到了AudioManager、AudioPlayer和JetPlayer等应用实例。
最低0.47元/天 解锁文章
1440

被折叠的 条评论
为什么被折叠?



