Reprint Annotated Source Http://blog.csdn.net/wanghorse
Send AudioOpenslesinput:: Recordersimplebufferqueuecallback Openslesinput:: Recordersimplebufferqueuecallbackhandler, Save the dataOpenslesinput:: Cbthreadimpl Audiodevicebuffer:: Setrecordedbuffer, copy the dataAudiodevicebuffer:: Setvqedata Audiodevicebuffer::D eliverrecordeddata Voebaseimpl:: Recordeddataisavailable Voebaseimpl::P rocessrecordeddatawithapm Audiodevicemoduleimpl:: Maxmicrophonevolume audiodevicetemplate:: Maxmicrophonevolume Transmitmixer::P Reparedemux Transmitmixer:: Generateaudioframe Downconverttocodecformat, single-double conversion, resamplingPushresampler<T>:: Resample Transmitmixer::P rocessaudio,AGC、AEC、ANC Audioprocessingimpl::P rocessstream Audiobuffer::D einterleavefrom Audioprocessingimpl::P rocessstreamlocked Audiobuffer:: Interleaveto Transmitmixer::D emuxandmix Channel::D EmultiplexCopying dataChannel::P repareencodeandsend, some processing, such as addingDTMF Transmitmixer:: Encodeandsend () Channel:: Encodeandsend Audiocodingmoduleimpl:: Add10msdata Audiocodingmoduleimpl::P reprocesstoadddataStoring dataAudiocodingmoduleimpl::P rocess Audiocodingmoduleimpl::P rocesssinglestream Acmgenericcodec:: Encode Acmisac:: Internalencode Channel:: SendData Modulertprtcpimpl:: Sendoutgoingdata Rtpsender:: Sendoutgoingdata Rtpsenderaudio:: Sendaudio Rtpsender:: Buildrtpheader Rtpsender:: Creatertpheader Rtpsender:: SendtonetworkStatisticsRtpsender:: Sendpackettonetwork Channel:: Sendpacket Udptransportimpl:: Sendpacket
WEBRTCDEMO.APK Code Daytime (four): Audio sending process