播放接口: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-->