【Android 高性能音频】OboeTest 音频性能测试应用 ( 应用简介 | 测试内容 | 输出测试 | Oboe 缓冲区 与 工作负载修改 | 测试案例 )
文章目錄
- 一、Oboe 測試應用
- 二、Oboe 測試內容
- 三、Oboe 輸出測試
- 四、Oboe 緩沖區 與 工作負載修改
- 五、Oboe 輸出測試 ( Pixel 2 | Android 10 )
一、Oboe 測試應用
Oboe 測試應用 :
① Oboe GitHub 頁面 : GitHub / Oboe ;
② Oboe 發布版本下載界面 : release 版本下載 , 這里我下載的是 1.4.3 版本 ; 下載 Source code ( zip ) 即可 ;
③ Oboe 測試應用 :
- 文件路徑 : oboe-1.4.3\apps\OboeTester , 下載后 , 解壓 oboe-1.4.3.zip , 即可在上述目錄找到測試應用
- GitHub 地址 : OboeTester
- 主要作用 : 可用于測試 Oboe 各種特征 , OpenSL ES , AAudio 等 ; 還可以測量 設備 音頻延遲 和 故障 ;
④ 測試方式 : 既可以作為一個交互式應用運行 ( 交互式用法 ) , 又可以進行自動化測試 ( 自動化測試用法 ) ;
⑤ Oboe 測試應用編譯 : 參考文檔 , 就是個 Android 應用 , 導入到 Android Studio 中編譯運行即可 ;
二、Oboe 測試內容
OboeTester 測試內容 :
- 輸出測試
- 輸入測試
- 觸摸發音延遲
- 錄音播放性能測試
- 回波輸入輸出測試
- 音頻往返延遲
- 故障測試
- 自動故障測試
- 斷開測試
測試主界面 :
三、Oboe 輸出測試
Oboe 輸出測試 :
① 參數 顯示 / 隱藏 : 點擊 綠條 , 可以 顯示 , 隱藏 輸入 ( Input ) / 輸出 ( Output ) 參數 ;
② 測試 音頻流 的 打開 , 開始 , 暫停 , 停止 , 關閉 ;
③ 音頻流參數設置 : 音頻流 打開前 可以設置不同的參數 ;
④ 實時顯示 : 音頻流 播放時 , 會實時顯示 幀計數 和 音頻流狀態 ;
⑤ 延遲信息 : 延遲信息是 根據 時間戳信息 , 估算的 ;
四、Oboe 緩沖區 與 工作負載修改
Oboe 緩沖區 與 工作負載修改 :
① 修改緩沖區測試 : 嘗試 改變緩沖區的大小 , 設置緩沖區不同大小 , 查看是否有故障產生 ; 緩沖區越大 , 延遲越大 ;
② 修改工作負載 : 嘗試 修改工作負載 , 即采樣的速度 , 工作負載越大 , 采樣速度越慢 ; 工作量大 , 采樣慢 , 沒有按時間交付音頻采樣 , 就會出現 欠載 ( UnderRun ) 的情況 ;
③ 修改工作負載目的 : 查看 幀計數器 和 XRun 值 , XRun 指的是 欠載 ( UnderRun ) 或 超限 ( OverRun ) 的情況 ;
④ XRun 概念 : XRun 是指 AAudio 音頻流的 欠載 ( UnderRun ) 或 超限 ( OverRun ) ;
- 欠載 ( UnderRun ) : 播放音頻流時 , 如果當前現有數據已經播放完畢 , 新數據還沒有來得及寫入 , 此時會發生欠載情況 ;
- 超限 ( OverRun ) : 錄制音頻流時 , 如果沒有及時讀取音頻流數據 , 并且這些 數據沒有妥善保存 , 發生溢出 , 導致數據丟失 , 這種情況叫做超限 ;
- 參考博客 : 【Android 高性能音頻】AAudio 緩沖區控制 ( XRun | 欠載 UnderRun | 超限 OverRun | 獲取緩沖區大小 | 設置緩沖區大小 )
⑤ 額外工作負載 : 在采樣循環中 , 通過計算一個隨機值 , 生成額外負載 , 將該結果添加到輸出中 ;
五、Oboe 輸出測試 ( Pixel 2 | Android 10 )
Oboe 輸出測試 :
① 測試運行前 :
② 打開音頻流 :
③ 開始播放音頻流 : 可以看到輸出延遲是 4.34.34.3 毫秒 ; Google 手機的音頻延遲還是不錯的 ;
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【Android 高性能音频】OboeTest 音频性能测试应用 ( 应用简介 | 测试内容 | 输出测试 | Oboe 缓冲区 与 工作负载修改 | 测试案例 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算机网络】网络层 : 路由算法 (
- 下一篇: 【Android 高性能音频】OboeT