2012-05-08 61 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