soundpool

package com.kerry.demo;

import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class Demo1Activity extends Activity implements OnClickListener{

Button buttons [] = new Button[6] ;

SoundPool soundPool;

int streamId;

float volume ;

// Map hashMap = new HashMap<integer, integer>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initSoundPool();

buttons[0] = (Button) this.findViewById(R.id.button1);
buttons[1] = (Button) this.findViewById(R.id.button2);
buttons[2] = (Button) this.findViewById(R.id.button3);
buttons[3] = (Button) this.findViewById(R.id.button4);
buttons[4] = (Button) this.findViewById(R.id.button5);
buttons[5] = (Button) this.findViewById(R.id.button6);

for(Button bt :buttons){
bt.setOnClickListener(this);
}
}

@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.button1:

playSound(1);
Toast.makeText(this,"button1",0).show();
;break;
case R.id.button2:

playSound(2);
Toast.makeText(this,"button2",0).show();
;break;
case R.id.button3:
Toast.makeText(this,"button3",0).show();
pauseSound();
;break;
case R.id.button4:
stopSound();
;break;
case R.id.button5:
playSound(5);
;break;
case R.id.button6:;break;
}
}

public void initSoundPool(){
soundPool = new SoundPool(1, //同事播放音效的数量
AudioManager.STREAM_MUSIC, //设置音频类型
0); //为以后留得参数 展示设置为0 即可
streamId = soundPool.load(this,R.raw.noitem,1);

AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
int streamMaxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

volume = streamVolume/streamMaxVolume;
}

public void playSound(int mumber){
soundPool.play(
streamId, //声音资源文件
volume, //左声道
volume, //右声道
1, // 优先级 0 为最低
mumber, //播放次数
1); //0.5~2.0 播放速度
}

public void stopSound(){
soundPool.stop(streamId);
}

public void pauseSound(){
soundPool.pause(streamId);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值