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】
        );
    }

}

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

你可能感兴趣的:(自用)