日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 高性能音频】AAudio 音频流 构建器 ( AAudio.h | 流构造器 | 音频设备配置 | 音频采样配置 | 构建器销毁 )

發(fā)布時(shí)間:2025/6/17 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 高性能音频】AAudio 音频流 构建器 ( AAudio.h | 流构造器 | 音频设备配置 | 音频采样配置 | 构建器销毁 ) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

        • 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ì)解析 ;
每個(gè)方法的參數(shù) , 原理 , 返回值 等細(xì)節(jié)都會講解到 ;



II . AAudio 音頻流構(gòu)建器



AAudio 音頻流構(gòu)建器 ( AAudioStreamBuilder ) :

  • ① 構(gòu)建器模式 ( 設(shè)計(jì)模式 ) : 創(chuàng)建一個(gè)對象實(shí)例時(shí) , 不直接進(jìn)行創(chuàng)建操作 , 而是先創(chuàng)建一個(gè)構(gòu)建器 , 然后通過構(gòu)建器創(chuàng)建該實(shí)例 ;
  • ② 音頻流 構(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)入 ;
#include <AAudio.h>
  • ② 創(chuàng)建 AAudio 音頻流 : 先聲明音頻流構(gòu)建器指針 , 然后將該指針地址傳入 AAudio_createStreamBuilder 方法 , 注意參數(shù)是一個(gè)二維指針 ;
//創(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);

IV . AAudio 音頻流構(gòu)建器創(chuàng)建方法 AAudio_createStreamBuilder



AAudio 音頻流構(gòu)建器創(chuàng)建方法解析 :

  • ① 方法原型 :
AAUDIO_API aaudio_result_t AAudio_createStreamBuilder(AAudioStreamBuilder **builder )
  • ② 方法作用 : 創(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í) , 沒有指定音頻設(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 , 共享模式 , 非獨(dú)占模式 ( AAUDIO_SHARING_MODE_EXCLUSIVE ) ;


VI . AAudio 音頻流 音采樣設(shè)置



音頻流 在打開時(shí)進(jìn)行的設(shè)置 :

  • ① 必要設(shè)置 : 有一些必須設(shè)置的配置項(xiàng) , 沒有默認(rèn)選項(xiàng) , 但是必須進(jìn)行設(shè)置 , 在音頻設(shè)備打開時(shí)進(jìn)行配置 ; 下面的配置就是這種類型的配置 ;
  • ② 采樣數(shù)據(jù)格式 : 采樣是 浮點(diǎn)型 ( AAUDIO_FORMAT_PCM_FLOAT ) 的 還是 16 位整型 ( AAUDIO_FORMAT_PCM_I16 ) 的 ;
  • ③ 每幀的采樣數(shù) : 每個(gè)數(shù)據(jù)幀有多少個(gè) PCM 采樣 ;
  • ④ 音頻流采樣率 : 如 44100 Hz , 表示 1 秒鐘有 44100 個(gè) 音頻 采樣 點(diǎn) ;


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è)置 , 下面開始講解重要的 七個(gè)設(shè)置 :
① 音頻設(shè)備 ID ,
② 音頻流方向 ,
③ 音頻設(shè)備共享模式 ,
④ 音頻流采樣率 ,
⑤ 音頻流通道個(gè)數(shù) ,
⑥ 音頻樣本格式 ,
⑦ 每幀采樣數(shù) ;




總結(jié)

以上是生活随笔為你收集整理的【Android 高性能音频】AAudio 音频流 构建器 ( AAudio.h | 流构造器 | 音频设备配置 | 音频采样配置 | 构建器销毁 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。