仅从10厘米处检测音频。仅当人说Android时流音频

时间:2018-10-28 12:19:12

标签: audio-streaming android-audiorecord

我正在开发一个会议系统,其中所有电话都通过Google附近的服务API相互连接。我从以下链接开始关注Google对讲机的教程:https://github.com/googlesamples/android-nearby/tree/master/connections/walkietalkie,在该教程中,人员必须按音量键才能讲话。我要的是那个人不应该按Voulume键,而当他开始说话时,它应该发出声音。为此,我点击了以下链接:Voice Detection in Android Application,但是当我对其进行测试时,声音正在中断,无法完全听别人说什么。我已经用8000和44100测试了RECORDER_SAMPLERATE,但没有成功。另外,我希望我的麦克风仅流出仅来自10厘米的声音。例如,如果该人正在10厘米内讲话,则声音应该流着,而在他旁边讲话的​​那个人且距离10厘米以下的麦克风不应该听到他的声音。

1 个答案:

答案 0 :(得分:1)

您可以将FFmpeg用于取消噪声的过程。 Android有一个很好的FFmpeg包装器。您可以导航到此https://github.com/WritingMinds/ffmpeg-android-java存储库。然后将FFmpeg集成到android中。

之后,您可以使用以下命令进行降噪

ffmpeg -i <input_file> -af "highpass=f=200, lowpass=f=3000" <output_file>

这只会减少噪声。我认为该范围会给您带来良好的降噪效果。您可以根据需要进行更改。但是您可以使用FFmpeg库做很多事情。这是一个非常强大的库。导航至https://ffmpeg.org/ffmpeg.html。您可以找到许多音频编辑命令。他们大多数都可以在FFmpeg android包装器中使用。  我认为您需要将ffmpeg替换为-y才能在该FFmpeg包装器中执行命令