Android点击按钮播放音效
16lz
2022-04-22
你想给你的按钮添加点击的音效吗,盘它~
package com.shanjing.demo01;import androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.media.AudioManager;import android.media.SoundPool;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;import java.util.HashMap;public class MainActivity extends AppCompatActivity { private Button btn_start, btn_stop; SoundPool sp;//声明SoundPool的引用 HashMap hm;//声明HashMap来存放声音文件 int currStaeamId;//当前正播放的streamId @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_start = findViewById(R.id.btn_start); btn_stop = findViewById(R.id.btn_stop); initSoundPool();//初始化声音池的方法 btn_start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { playSound(1, 0);//播放1号声音资源,且播放一次 //提示播放即时音效 Toast.makeText(MainActivity.this, "播放即时音效", Toast.LENGTH_SHORT).show(); } }); btn_stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { sp.stop(currStaeamId);//停止正在播放的某个声音 //提示停止播放 Toast.makeText(MainActivity.this, "停止播放即时音效", Toast.LENGTH_SHORT).show(); } }); } private void playSound(int sound, int loop) {//获取AudioManager引用 AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); //获取当前音量 float streamVolumeCurrent = am.getStreamVolume(AudioManager.STREAM_MUSIC); //获取系统最大音量 float streamVolumeMax = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC); //计算得到播放音量 float volume = streamVolumeCurrent / streamVolumeMax; //调用SoundPool的play方法来播放声音文件 currStaeamId = sp.play(hm.get(sound), volume, volume, 1, loop, 1.0f); } private void initSoundPool() {//初始化声音池 sp = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);//创建SoundPool对象 hm = new HashMap();//创建HashMap对象 //加载声音文件,并且设置为1号声音放入hm中 hm.put(1, sp.load(this, R.raw.a, 1)); }}
音效放在res/raw下
更多相关文章
- Android(安卓)File 数据存储
- Android(安卓)监听音量加减
- Android中MediaPlayer的setDataSource方法的使用
- 用contentResolver+ListView+mediaPlayer实现简单Android音乐播
- Unity3D Android播放视频
- Android开启关闭手机扬声器
- android 播放视频时切换全屏隐藏状态栏
- android 播放铃声
- Android下调整多媒体音量方法