仿淘宝下面导航按钮点击触发音效
两种方式之一
@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/