上层依然是使用AudioRecord进行录制,source选择下面三种中的一种:
AUDIO_SOURCE_VOICE_UPLINK 录制上行
AUDIO_SOURCE_VOICE_DOWNLINK 录制下行
AUDIO_SOURCE_VOICE_CALL 录制上下行
audio_hw.c 里面会调用voice_check_and_set_incall_rec_usecase来判断source,从而决定用哪个usecase。
mixer_paths.xml中的几个usecase:
<path name="incall-rec-uplink">
<ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
</path>
<path name="incall-rec-downlink">
<ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
</path>
<path name="incall-rec-uplink-and-downlink">
<path name="incall-rec-uplink" />
<path name="incall-rec-downlink" />
</path>