一、 android本身对录音流程就有一个很完善的控制,能够很好的理解audiorecord服务的运作,对于理解和解决上行数据的处理有个很好的指导作用。
AudioRecord和AudioTrack是音频上行和下行的两大重要服务,本文主要针对上行AudioRecord服务进行流程的详细说明。
二、具体代码流程如下:
AudioRecord::set
↓
AudioSystem::getInput
↓
aps->getInput
↓
mpAudioPolic->get_Input()
↓
Qap -> policy.get_output=ap_get_input
↓
Qap->apm->getInput()
↓
Class AudioPolicyInterface
{audio_io_handle_t getInput()}
↓
Class AudioPolicyManagerBase:public AudioPolicyInterface
↓
Class AudioPolicyManagerALSA:public AudioPolicyManagerBase