簡體   English   中英

錄制時播放音頻會降低音量

[英]Playing audio while record will get a low volume

我使用 audiounit 錄制語音並使用 audioqueue 播放音頻數據。 當我設置:

[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];

播放音頻的音量將非常低。 但是當我設置時:

[session setCategory:AVAudioSessionCategoryMultiRoute error:&error];

雖然音量會正常。 但是來自 iOS 麥克風的音頻數據 output 不會一樣長。 使用前一種設置,音頻數據長度將為 4096,但后者將 output 長度為 3760 和 3764。這會在我對音頻數據進行編碼時導致崩潰。

我找到解決方案說我應該在打開錄音機之前打開音頻播放器,然后問題就解決了。 不幸的是,我必須先打開錄音機。 所以我不知道如何設置音頻會話我可以得到一個很大的音量和相同長度的音頻數據。

3760-3764 是由於從 48k 重新采樣到您的 44.1k 采樣率。

使用循環/環形緩沖區/fifo 來避免編碼問題(例如,只有當緩沖區/fifo 中已經有那么多或更多樣本時,才總是從緩沖區/fifo 中准確提取 4096 個樣本)。

此外,在啟用 AudioSession 之前嘗試設置您的首選采樣率。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM