主要有两种方式:
往项目的res/raw目录中放入音效文件。
1、MediaPlayer播放一般音频
private void playSound(){ final MediaPlayer mediaPlayer = MediaPlayer.create(activity, R.raw.bubble); mediaPlayer.start(); mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){//播出完毕事件 @Override public void onCompletion(MediaPlayer arg0) { mediaPlayer.release(); } }); }
2、SoundPool播放短促的音效(最大只能申请1M的内存空间)
private void playSounds(){ //指定声音池的最大音频流数目为10,声音品质为5 SoundPool pool = new SoundPool(10, AudioManager.STREAM_SYSTEM, 5); //载入音频流,返回在池中的id final int sourceid = pool.load(activity, R.raw.bubble, 0); pool.setOnLoadCompleteListener(new OnLoadCompleteListener() { public void onLoadComplete(SoundPool soundPool, int sampleId, int status) { //播放音频,第二个参数为左声道音量;第三个参数为右声道音量; //第四个参数为优先级;第五个参数为循环次数,0不循环,-1循环; //第六个参数为速率,速率 最低0.5最高为2,1代表正常速度 soundPool.play(sourceid, 2, 2, 0, 0, 1); } }); }
时间: 2024-10-29 15:33:34