我已经在网上搜索过这个,但仍然有点困惑(因为我相信其他人如果想到这样的事情也会感到困惑)。我想在序言中说,这是not为了家庭作业和/或利润。
我想创建一个应用程序,可以在您准备爆米花时监听微波炉的声音。当弹出声音之间有一定的时间间隔(比如 5-6 秒)时,它会发出警报。再说一次,这只是一个让我忙碌的项目——而不是为了上课。
不管怎样,我在试图弄清楚如何实时分析音频输入时遇到了麻烦。也就是说,我需要一种方法来记录“pop”发生的时间。为了让大家不要认为我没有对此事进行任何研究,我已经检查过this https://stackoverflow.com/questions/2257075/real-time-audio-processing-in-androidSO问题并广泛搜索了录音带 http://developer.android.com/reference/android/media/AudioRecord.html#read%28short%5B%5D,%20int,%20int%29功能列表。
我想我可能需要对其中一个版本做一些事情read() http://developer.android.com/reference/android/media/AudioRecord.html#read%28short%5B%5D,%20int,%20int%29然后每隔 2 秒左右将录制的音频与“爆音”录制的音频进行比较(即,如果 byte[] audioData 数组的 70% 或更多与爆音相同,则记录时间)。有 Android 音频输入经验的人可以让我知道我是否至少走在正确的轨道上吗?这不是我希望你为我编写任何代码的问题,而是我是否走在正确的轨道上的问题,如果不是,我应该朝哪个方向前进。
我想我有一个更简单的方法。
你可以使用媒体记录器 http://developer.android.com/reference/android/media/MediaRecorder.html#getMaxAmplitude%28%29的 getMaxAmplitude 方法。
每当您的录音机检测到振幅大幅跃升时,您就检测到了玉米爆裂声!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)