Android简易“吹一吹实现”以及录音和播放示例
最近在做一些跟传感器相关的东西,有注意到以前腾讯微博以前出过一个吹一吹交互,虽然和传感器无关,但是感觉也比较有兴趣,就写了一个拙劣的demo,因为接触媒体文件操作比较少,顺带写了一个录音和播放的例子,总结了一下一些小坑的地方,一并在此分享给大家。 主要思路和坑的地方 主要的思路是通过MediaRecorder提供的getMaxAmplitude()函数,获取一段时间内输入的音频最大幅值来进行检测,所以除了吹的动作,其他声音也会被录进来。 “吹”这个动作如果想和其他动作进行区分,其实本质在于吹的时候靠近听筒,即便吹这个动作本身音量不大,但是麦克风看来它的分贝是很大的,所以我们可以通过检测分贝来判断这个动作是否是吹(如果其他声音更大……那……算了不管了)。 这里附上前人的一些参考资料: http://www.jb51.net/article/6... 一看到这个网站后面是htm,仿佛就明白了这个网站的框架… 这个东西坑的地方在于Mediaplayer和MediaRecorder这两个东西stop和start的顺序经常是严格被限制的,在退出时如果没有成功释放资源,有时候Activity再启动...
