0
是否可以檢查有多少音頻緩衝區被填滿?我有一個正在運行的應用程序,可以在屏幕上繪製音頻緩衝區,就像振盪器一樣,但是當我觸摸屏幕時,我想停止捕獲並繪製當前緩衝區。所以我需要找出多少緩衝區被填充並繪製它。我目前的緩衝區大小爲256.是否可以檢查audiobuffer充滿了多少?
是否有可能通過iOS中的音頻緩衝區來實現這一點?
謝謝。
是否可以檢查有多少音頻緩衝區被填滿?我有一個正在運行的應用程序,可以在屏幕上繪製音頻緩衝區,就像振盪器一樣,但是當我觸摸屏幕時,我想停止捕獲並繪製當前緩衝區。所以我需要找出多少緩衝區被填充並繪製它。我目前的緩衝區大小爲256.是否可以檢查audiobuffer充滿了多少?
是否有可能通過iOS中的音頻緩衝區來實現這一點?
謝謝。
當您致電AudioUnitRender
時,它會傳遞一個完整的緩衝區。
假設您以44100幀/秒(甚至11025)的速度運行,緩衝區大小爲256幀,看起來不太可能在整個緩衝區中存在實際區別,因爲我們我們正在談論這樣一個令人難以置信的小部分時間。
我不確定你的應用程序是什麼,但是你可能想要考慮存儲更多的數據並且渲染多個緩衝區長度,無論如何要獲得可用的數據。例如,220Hz的音符A在256幀緩衝區內只有略多於44.1K的一個波形週期。
我試圖完成這樣的事情:http://www.youtube.com/watch?v=-oN96cucBr4 我開始嘗試只是在點擊時發出聲音,當發生觸摸事件時,會話應停止錄製並在屏幕上顯示「tap」頻率。 – Roskvist 2013-03-16 20:15:32
是的,你肯定需要的不僅僅是緩衝區的數據。不應該有任何實際的理由不去與調用AudioUnitRender的常規系統來填充您的應用程序的緩衝區。 – 2013-03-17 04:18:36
好的..謝謝你的回答。你有關於存儲緩衝區的建議嗎?我目前正在研究memcpy。 – Roskvist 2013-03-17 17:12:03