Android点击按钮添加触发音效

仿淘宝下面导航按钮点击触发音效

两种方式之一

@SuppressLint("NewApi")
    private void initSound() {
        soundPool = new SoundPool.Builder().build();
        soundID = soundPool.load(this, R.raw.qipao, 1);
    }


    private void playSound() {
        soundPool.play(
                soundID,
                0.1f,      //左耳道音量【0~1】
                0.5f,      //右耳道音量【0~1】
                0,         //播放优先级【0表示最低优先级】
                0,         //循环模式【0表示循环一次,-1表示一直循环,其他表示数字+1表示当前数字对应的循环次数】
                1          //播放速度【1是正常,范围从0~2】
        );
    }

在相关的点击事件里面调用playSound();就行

两种方式之二

 private void PlayMusic(int MusicId) {
        music = MediaPlayer.create(this, MusicId);
        music.start();
    }

同样是在相关的点击事件里面调用,需要把音频文件带入进去,虽然这个代码相对来说少一点,但是他可设置性不高,而且音效会有一定的延迟,推荐第一种

下面就是全部的代码:

public class MainActivity extends AppCompatActivity {

    private TextView mBtnmusic;
    private SoundPool soundPool;
    private int soundID;
    private MediaPlayer music;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mBtnmusic=findViewById(R.id.btnmusic);
        initSound();
        mBtnmusic.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                playSound();//第一种方式
//                PlayMusic(R.raw.qipao);//第二种方式
            }
        });
    }


    private void PlayMusic(int MusicId) {
        music = MediaPlayer.create(this, MusicId);
        music.start();
    }

    @SuppressLint("NewApi")
    private void initSound() {
        soundPool = new SoundPool.Builder().build();
        soundID = soundPool.load(this, R.raw.qipao, 1);
    }


    private void playSound() {
        soundPool.play(
                soundID,
                0.1f,      //左耳道音量【0~1】
                0.5f,      //右耳道音量【0~1】
                0,         //播放优先级【0表示最低优先级】
                0,         //循环模式【0表示循环一次,-1表示一直循环,其他表示数字+1表示当前数字对应的循环次数】
                1          //播放速度【1是正常,范围从0~2】
        );
    }

}

代码比较简单,源码就不给了,直接复制上面的代码找好音频文件就行了

给个音频下载地址:https://sc.chinaz.com/yinxiao/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值