在我的Android应用程序,我需要从麦克风中捕获用户的语音,然后将它传递给服务器。 目前,我用的是MediaRecorder
类。 但是,它不能满足我的需要,因为我想使发光效果,基于输入声音的当前音量,所以我需要一个语音串流,或者类似的东西,我猜。 目前,我使用以下命令:
this.recorder = new MediaRecorder();
this.recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
this.recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
this.recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
this.recorder.setOutputFile(FILENAME);
我使用API 7级写作,所以我没有看到任何其他AudioEncoders,但AMR窄带。 也许这就是可怕的噪音,我在我的录音听到的原因。
我现在面临的第二个问题是音质差,噪音,所以我想约简(取消,压抑),因为它实在是太可怕了,特别是在我的NONAME中国平板电脑。 这应该是服务器端的,因为,据我所知,requiers了大量的资源,而不是所有的现代小工具(尤其是中国NONAME片)可以做到这一点尽可能快。 我可以自由地选择,在服务器上使用的平台,因此它可以是ASP.NET,PHP,JSP,或任何帮助我使声音更好。 谈到ASP.NET,我所遇到的一个库,称为n音讯,可能是它可以帮助我以某种方式。 我知道,有建于库中没有任何降噪解决方案,但我发现在FFT和自动corellation一些例子使用它,因此它可能帮助。
说实话,我从来没有与合作的声音在这之前关闭,我不知道从哪里开始。 我用Google搜索了很多关于降噪技术,代码示例和一无所获。 你们是我最后的希望。
提前致谢。