Android AudioFocus以及MediaFocuControl处理流程

来源:互联网 发布:教育数据质量管理系统 编辑:程序博客网 时间:2024/06/08 12:11

  Android 使用AudioFocus控制多个应用的声音输出。用户可以通过requestAudioFocus(OnAudioFocusChangeListener l, int Stream_type,int dura_hint)或者abandonAudioFocus(onAudioFocusChangedListener)来申请或者释放焦点,同时可以接收onAudioFocusChangeListener回调控制自己的播放。由于在request的时候,传递了Stream_type参数,但是自己写代码验证AudioFocus的变化与Stream_type是无关的,为了进行确认,对该流程进行了分析。

序列图如下:

 

其中主要的处理在MediaFocusControl中,分析流程图如下:

 

 

 

 

通过分析初步了解了焦点控制流程,确认了焦点变化确实与Stream_type无关。但是Android这样设计一定也有它的道理,还不知道为什么,如果大家有不同的看法,欢迎探讨!

0 0
原创粉丝点击