2012-05-08 58 views
0

我成功地在Android 2.3.4設備上錄製聲音(完整設置爲:AudioSource.MIC + 44100Hz + AudioFormat.CHANNEL_IN_MONO + AudioFormat.ENCODING_PCM_16BIT)。聲音記錄癢癢/滴答聲/噪聲/尖峯

我也正確地將PCM數據寫入WAV文件。

問題是,有那些噪音,使錄音可怕。

attached file顯示我的意思是什麼。注意到明顯的尖峯。

我已經測試過的相同記錄(在附件中的音樂)與市場上的一些錄音的應用程序,他們以完美的方式記錄,沒有在所有的聲音 - 它怎麼辦?這是我應該設置的設置(我使用AudioRecord)?我應該用一些算法手動過濾這些噪音嗎?我應該尋找什麼?

如果因爲某種原因沒有下載附件,或者鏈接被破壞,請通過評論告訴我。

謝謝!

編輯#1:
我與Galaxy S2。

+0

這可能是一個硬件問題。我注意到在某些手機和小型相機上,當他的設備在空間中操作時,麥克風易受撞擊和撞擊。所以,在記錄**時移動你的S2可能會導致峯值。你能排除這一點嗎? –

+0

@JamieTaylor嗨,是的 - 這絕對不是這樣,因爲我在設備放在桌子上時錄音 - 不移動任何東西。 – Poni

+0

再次強調一下 - 在完全相同的條件下,我使用另一種錄音軟件,它可以提供完美的聲音。奇怪的。 – Poni

回答

2

我認爲44100Hz對於您的手機功能來說太多了,一般來說,對於所有手機功能而言:手機不是高保真。
試用8000Hz。
然後,您可以更改此值,直到找到可接受的錄製質量。

+0

嗨rosco,我不這麼認爲。我與Galaxy S2是一個。其次,另一個錄音應用程序,正如我在原始文章中所說的那樣,完全記錄了我用自己的代碼記錄的相同聲音。 – Poni

+1

好的。但是,你試過了嗎?或者您確定您的應用程序使用其他錄製應用程序的相同算法? 44100Hz是每秒採樣數(CD質量),您需要一個非常好的硬件和軟件來對其進行編碼和解碼。只是嘗試和驗證,如果它是更好/相等/最差,然後決定你的下一步:) – rosco

+1

我試過了,你是正確的。除此之外,我還發現爲AudioRecord提供比'AudioRecord.getMinBufferSize()'更大的緩衝區,即使在44100Hz下也能清除聲音。謝謝:) – Poni