业务多变, 而音频播放能力相对来说是稳定的, 其基本能力包括但不局限于( 首次&续接)播放,暂停,抢占,打断,音量调节( 渐渐变强) , 物理( 如耳机) 按键响应, 打断后场景恢复, 缓存, 预加载, 强弱网络和播放异常等。 这些音频本身的技术能力,最好应该是和纯业务是解耦的, 尽量做到“高内聚, 低耦合”。
经过深思熟虑, 我们认为设计模式中的“ObserverPattern 观察者模式”,比较切合这一技术背景。纯业务和音频框架本身制定通用的接口协议。
在纯业务自由注册监听器到音频播放框架中, 根据关心的回调事件自由处理自己的业务, 而音频框架本身只做主要的焦点抢占, 现场恢复和事件分发等事情, 非常符合 SRP 原则( 单一职责) , 后续调试和维护都很方便。
以上内容摘自《高德技术2020年刊合集》电子书,点击https://developer.aliyun.com/topic/download?id=1135可下载完成版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。