当前位置: 首页 > article >正文

Android Audio实战——音频焦点监听(十)

        前面音频焦点申请时,在 MediaFocusControl 中有一个重要的函数 notifyExtFocusPolicyFocusRequest_syncAf(),其中的注释信息是 对外的焦点策略,其实就是对外通知焦点变化情况,由 APP 来处理焦点变化所带来的业务需求。

一、焦点变化监听

MediaFocusControl

源码位置:/frameworks/base/services/core/java/com/android/server/audio/MediaFocusControl.java

@Nullable private IAudioPolicyCallback mFocusPolicy = null;

boolean notifyExtFocusPolicyFocusRequest_syncAf(AudioFocusInfo afi, IAudioFocusDispatcher fd, @NonNull IBinder cb) {
    synchronized (mExtFocusChangeLock) {
        afi.setGen(mExtFocusChangeCounter++);
    }
    ……
    try {
        //oneway
        mFocusPolicy.notifyAudioFocusRequest(afi, AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
        return true;
    } catch (RemoteException e) {
    }
    return false;
}

        这里调用了 IAudioPolicyCallback 中的 notifyAudioFocusRequest() 方法,而 IAudioPolicyCallback 是通过 AudioPolicy 类实现的。通过


http://www.kler.cn/a/152469.html

相关文章:

  • 从薛定谔的猫——量子理论基础
  • 设计模式详解(二):抽象工厂——Abstract Factory
  • JavaEE——简单认识CSS
  • oracle impdp 导入元数据表空间异常增大的解决办法
  • 党建引领·和谐共建——赤岗街首届微型社区养老服务公益博览会开幕
  • (2)(2.2) Lightware SF45/B(350度)
  • 2的幂运算
  • IC修真院 | 芯片嵌入式课程重磅上线!
  • 中伟视界:AI盒子中的报警预录像功能能解决什么问题?实现原理是怎样的?
  • 关于微信小程序中如何实现数据可视化-echarts动态渲染
  • java21虚拟线程
  • Windows平台下的oracle 11G-11.2.0.4补丁升级操作指南
  • java对xml压缩
  • GPLT(有空就写)
  • Java之Stream的实用语法
  • 掌握区块链技术将推进2024年市场发展脚步
  • 在Rust中编写自动化测试
  • Go语言与Java:一场编程语言之争
  • 用element ui上传带参数的文件,并用flask接收
  • 算法通关村第五关—队栈和Hash的经典问题(白银)