概述:
OpenSL ES 是一款跨平臺、硬件加速的音頻API,適用於嵌入式系統,他爲嵌入式多媒體設備上的本機應用程序開發人員提供標準化,高性能、低延時的方法來訪問音頻功能,實現硬件和軟件音頻功能的跨平臺部署,減少實施工作量。簡單來說OpenSL ES是一個嵌入式跨平臺免費的音頻處理庫.
流程:
OpenSL ES的開發流程主要有以下幾步:
1、創建接口對象
2、設置混音器
3、創建播放器(錄音器)
4、設置緩衝隊列和回調函數
5、設置播放狀態
6、啓動回調函數
其中,4、6是播放pcm等數據格式需要用到的
重要的接口類:SLObjectltf,通過接口類可以創建各種我們需要的類接口
創建引擎接口對象:SLObjectItf engineObject
創建混音器接口對象:SLObjectItf outputMixObject
創建播放器接口對象:SLObjectItf playerObject
創建引擎並實現它:
OpenSL ES中開始的第一步都是聲明SLObjectItf接口類型的引擎接口對象 engineObject,然後用方法slCreateEngine創建一個引擎接口對象;創建好引擎接口對象後,需要用SLObjectItf的Realize方法來實現engineObject;最後用SLObjectItf的GetInterface方法來初始化SLEngnineItf對象實例