Android开发按钮的时候,无论是原生的Button`ImageButton 还是TextView添加点击事件,在点击的时候都会有默认的bengbeng的点击声音(有点定制手机把声音去掉了)。
在有些情况不需要声音,可以通过soundEffectsEnabled参数来设置
soundEffectsEnabled 在 android.R.attr.soundEffectsEnabled
在View种提供了
public void setSoundEffectsEnabled(boolean soundEffectsEnabled) {...}
可以通过View的子类调用
比如textView.setSoundEffectsEnabled(false)
另外针对有些按钮,需要在点击的时候设置一些点击音效
可以通过点击时使用SoundPool播放短音效
SoundPool使用MediaPlaybackService将音频流解码,有利于减少解码造成的延迟。SoundPool占用较少的CPU资源,反应迅速。
适合应用中的按键和提醒音,以及游戏中密集而短暂的音效
缺点
最大只能申请1m的空间
所以只能播放一些短且小的音频
提供的pause和stop方法有一些bug
停止不是立即响应,会把缓冲部分播一点点才停
音频格式建议使用OGG,使用wav或者mp3格式音频文件,在音频循环播放的情况下会出现异常关闭的情况,SoundPool对16bit格式的音频支持比较好,所以将音频通过软件转换格式为OGG即可