AudioFlinger控制AudioHardware,AudioHardware控制 AudioStreamInterface
在AudioFlinger.cpp中创建AudioHardware.cpp对象,用于控制硬件设备的输入和输出,以及相关其它音频服务
在AudioHardware.cpp中创建AudioStreamHandler( 包含对象AudioStreamIn AudioSteamOut)
又AudioStreamIn.cpp继承于public AudioStreamInInterface,AudioStreamout.cpp继承于public AudioStreamOutInterface
又AudioStreamInInterface和AudioStreamOutInterface均继承于public AudioStreamInterface
故AudioStreamIn.cpp和AudioSteamOut.cpp均继承于public AudioStreamInterface
mStreamHandler = NULL;
mStreamHandler = new AudioStreamHandler(mFd,this,mAfe_handle,mAnaReg);
AudioStreamOut *out = mStreamHandler->openOutputStream(devices, format, channels, sampleRate, status);
mStreamHandler->closeOutputStream(out);
AudioStreamIn *In = mStreamHandler->openInputStream(devices,format, channels, sampleRate, status,acoustics);
mStreamHandler->closeInputStream(in);