当我们将手机与耳机连接时,便能够听到美妙的音乐或者清晰的语音。这背后的主要依赖就是使用了 OS (操作系统) 的音频栈。Android 4.1 (API level 16) 时 Google 开始推出了一个叫做 Opensl 的新的音频框架,它是从 OpenMAXAL 规范中创建的。
Opensl(Open Sound Library)是 Android 提供的音频编程接口,是 Android 音频系统底层的 API。Opensl 的出现旨在解决 Android 原来的 Audio Track 接口(播放音频文件)存在的缺陷,如以低质量模式播音频导致格式转换、可缓冲区大小较小等问题。Opesnl 框架也被广泛应用于事实上所有运用应用层音频功能的 App 中,包括聊天、视频播放、游戏等等。
Opensl 的接口大致可以分为 3 个层次,最底层的是核心音频引擎,中间层是提供各种音频功能的封装,最上层则是一些常用组件。通过使用 Opensl,我们可以更加精细地控制播放音频的质量,提高音频播放效率,同时支持从其他音频引擎上的音频数据转移而来。
如果你是一名开发人员,想在 Android 上进行音频编程,Opensl 绝对是必须要掌握的技术之一。希望通过本文的介绍,能够让大家对 Opensl 有更深入的了解。