2011-05-24 54 views
2

我使用AVAudioRecorder進行錄音。目前我使用averagePowerForChannelpeakPowerForChannel來顯示動態儀表。如何檢測AVAudioRecorder中的靜音?

我怎樣才能檢測到沉默(沒有人說話1秒),所以我可以停止錄音?

回答

2

那麼,如果你已經顯示了米,那麼你肯定已經有了答案?

您可以簡單地總結最後n個讀數,其中n是您每秒讀取的讀數數量,然後如果該值小於您設置的某個閾值,則可以將其聲明爲無聲。

+0

由於在不同的環境下會有不同的背景噪音,我正在尋找一個相對閾值,而不是硬工碼在我的工作表上的值;-)任何想法? – ohho 2011-05-25 02:19:41

+1

您只需要一個自適應閾值 - 您可以通過平均最近x秒內確定的最低功率值來獲得該閾值。 – Roger 2011-05-25 08:13:47