Android 按钮点击设置静音

在Android开发中,Button、ImageButton和TextView等点击时默认会有点击声音。若需禁用,可通过setSoundEffectsEnabled(false)方法。若需自定义音效,可以使用SoundPool播放短音效。SoundPool适合播放短小的音频,但存在一些限制,如最大只能分配1M内存,推荐使用OGG格式音频以避免播放问题。

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即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值