Android Audio代码分析24 - AudioEffect::setEnabled函数

之前已经看过,通过接口getEnabled可以取得effect的enable状态。
今天来看看如何来改变enable状态。


*****************************************源码*************************************************

**********************************************************************************************
源码路径:
frameworks\base\media\tests\mediaframeworktest\src\com\android\mediaframeworktest\functional\MediaAudioEffectTest.java


#######################说明################################

###########################################################


&&&&&&&&&&&&&&&&&&&&&&&总结&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
setEnabled 最终会调用到 EffectModule 中的 setEnabled 函数。
函数 EffectModule::setEnabled 会修改当前状态,并调用函数 EffectHandle::setEnabled 。
函数 EffectHandle::setEnabled 会回调到 java 侧的函数 postEventFromNative ,将状态改变告诉给 java 侧。
函数 postEventFromNative 会调用 NativeEventHandler::handleMessage 函数来处理 native 侧过来的 event 。
handleMessage 函数中调用 Listener 的 onEnableStatusChange 函数,将改变告诉给应用成员。
应用程序在初始化阶段会创建一个自己的 Listener ,并将它注册到 AudioEffect 对象。


至于 native 侧如何回调 java 侧的函数, 在后面的文章中再详细介绍。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
posted @ 2011-10-21 12:20  andriod2012  阅读(820)  评论(0编辑  收藏  举报