【Android 高性能音频】AAudio 音频流 构建器 ( AAudio.h | 流构造器 | 音频设备配置 | 音频采样配置 | 构建器销毁 )
文章目錄
- I . AAudio 音頻流創(chuàng)建流程
- II . AAudio 音頻流構(gòu)建器
- III . AAudio 音頻流構(gòu)建器 代碼示例
- IV . AAudio 音頻流構(gòu)建器創(chuàng)建方法 AAudio_createStreamBuilder
- V . AAudio 音頻流 音頻設(shè)備設(shè)置
- VI . AAudio 音頻流 音采樣設(shè)置
- VII . AAudio 音頻流構(gòu)建器 銷毀
I . AAudio 音頻流創(chuàng)建流程
使用 AAudio 音頻庫 , 首先需要導(dǎo)入 AAudio.h 頭文件 ;
#include <AAudio.h>創(chuàng)建 AAudio 音頻流 , 需要先創(chuàng)建 AAudio 音頻流構(gòu)建器 , 然后在通過該構(gòu)建器創(chuàng)建音頻流 ;
//創(chuàng)建構(gòu)建器 , AAudio 音頻流通過該構(gòu)建器創(chuàng)建//聲明 AAudio 音頻流構(gòu)建器 指針AAudioStreamBuilder *builder = nullptr;//創(chuàng)建 AAudio 音頻流構(gòu)建器 , 注意傳入二維指針aaudio_result_t result = AAudio_createStreamBuilder(&builder);下面會著重對上面的流程細(xì)節(jié)進(jìn)行詳細(xì)解析 ;
每個方法的參數(shù) , 原理 , 返回值 等細(xì)節(jié)都會講解到 ;
II . AAudio 音頻流構(gòu)建器
AAudio 音頻流構(gòu)建器 ( AAudioStreamBuilder ) :
- ① 構(gòu)建器模式 ( 設(shè)計模式 ) : 創(chuàng)建一個對象實例時 , 不直接進(jìn)行創(chuàng)建操作 , 而是先創(chuàng)建一個構(gòu)建器 , 然后通過構(gòu)建器創(chuàng)建該實例 ;
- ② 音頻流 構(gòu)建器 : AAudio 音頻流需要使用相應(yīng)構(gòu)建器進(jìn)行創(chuàng)建 , 首先要先創(chuàng)建 AAudio 音頻流構(gòu)建器 , 然后再通過構(gòu)建器創(chuàng)建 AAudio 音頻流 ;
III . AAudio 音頻流構(gòu)建器 代碼示例
創(chuàng)建 AAudio 音頻流構(gòu)建器 :
- ① 導(dǎo)入包 : 使用 AAudio 音頻庫前 , 先把頭文件 AAudio.h 導(dǎo)入 ;
- ② 創(chuàng)建 AAudio 音頻流 : 先聲明音頻流構(gòu)建器指針 , 然后將該指針地址傳入 AAudio_createStreamBuilder 方法 , 注意參數(shù)是一個二維指針 ;
IV . AAudio 音頻流構(gòu)建器創(chuàng)建方法 AAudio_createStreamBuilder
AAudio 音頻流構(gòu)建器創(chuàng)建方法解析 :
- ① 方法原型 :
- ② 方法作用 : 創(chuàng)建 AAudio 音頻流構(gòu)建器 , 該構(gòu)建器可以用于創(chuàng)建 AAudio 音頻流 ;
V . AAudio 音頻流 音頻設(shè)備設(shè)置
音頻流 相關(guān) 默認(rèn)設(shè)置 :
- ① 音頻設(shè)備 ID 默認(rèn) : AAudio 音頻流剛創(chuàng)建時 , 沒有指定音頻設(shè)備 , 那么使用當(dāng)前默認(rèn)的 輸入 或 輸出 音頻設(shè)備 , 即 耳機(jī) > 自帶音響 , 外接麥克風(fēng) > 自帶麥克風(fēng) ;
- ② 音頻流方向 默認(rèn) : 默認(rèn)的音頻流方向是輸出方向 , AAUDIO_DIRECTION_OUTPUT , 即 使用 耳機(jī) 或 音箱 發(fā)音 ;
- ③ 音頻設(shè)備訪問模式 默認(rèn) : 默認(rèn)的音頻設(shè)備訪問模式為 AAUDIO_SHARING_MODE_SHARED , 共享模式 , 非獨占模式 ( AAUDIO_SHARING_MODE_EXCLUSIVE ) ;
VI . AAudio 音頻流 音采樣設(shè)置
音頻流 在打開時進(jìn)行的設(shè)置 :
- ① 必要設(shè)置 : 有一些必須設(shè)置的配置項 , 沒有默認(rèn)選項 , 但是必須進(jìn)行設(shè)置 , 在音頻設(shè)備打開時進(jìn)行配置 ; 下面的配置就是這種類型的配置 ;
- ② 采樣數(shù)據(jù)格式 : 采樣是 浮點型 ( AAUDIO_FORMAT_PCM_FLOAT ) 的 還是 16 位整型 ( AAUDIO_FORMAT_PCM_I16 ) 的 ;
- ③ 每幀的采樣數(shù) : 每個數(shù)據(jù)幀有多少個 PCM 采樣 ;
- ④ 音頻流采樣率 : 如 44100 Hz , 表示 1 秒鐘有 44100 個 音頻 采樣 點 ;
VII . AAudio 音頻流構(gòu)建器 銷毀
AAudio 音頻流構(gòu)建器 銷毀 : 使用 AAudio 音頻流構(gòu)建器 ( AAudioStreamBuilder ) 創(chuàng)建完 AAudio 音頻流后 , 必須 調(diào)用 AAudioStreamBuilder_delete() 方法 銷毀該構(gòu)建器 , 釋放相關(guān)資源 ;
AAudio 音頻流構(gòu)建器 AAudioStreamBuilder 創(chuàng)建完畢之后 , 需要對 AAudio 音頻流 進(jìn)行一系列的設(shè)置 , 下面開始講解重要的 七個設(shè)置 :
① 音頻設(shè)備 ID ,
② 音頻流方向 ,
③ 音頻設(shè)備共享模式 ,
④ 音頻流采樣率 ,
⑤ 音頻流通道個數(shù) ,
⑥ 音頻樣本格式 ,
⑦ 每幀采樣數(shù) ;
總結(jié)
以上是生活随笔為你收集整理的【Android 高性能音频】AAudio 音频流 构建器 ( AAudio.h | 流构造器 | 音频设备配置 | 音频采样配置 | 构建器销毁 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【运筹学】线性规划 单纯形法 ( 基矩
- 下一篇: 【Android 高性能音频】AAudi