我是初学者,想做个小程序,很简单只有三个按钮,点击每个按钮就播放一段声音。
以下是我的程序,其中a,i,u是音频文件,但是不知道为什么不能播放声音。
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;public class MyJPActivity extends Activity implements View.OnClickListener{
public Button btn = null;
private SoundPool sp= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);// 声明一个SoundPool
private int music;// 定义一个整型设置suondID @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); Button bt_a = (Button) findViewById(R.id.bta);
Button bt_i = (Button) findViewById(R.id.bti);
Button bt_u = (Button) findViewById(R.id.btu);
bt_a.setOnClickListener(this);
bt_a.setTag(1);
bt_i.setOnClickListener(this);
bt_i.setTag(2);
bt_u.setOnClickListener(this);
bt_u.setTag(3); } public void onClick(View v){  
        int tag = (Integer) v.getTag();  
        switch(tag){  
        case 1:  
     music = sp.load(this, R.raw.a, 1); // 第2个参数即为资源文件,第3个为优先级
     sp.play(music, 1, 1, 0, 0, 1);// 分别表示music文件,1左声道,1右声道,0优先级,0循环次数,1速率
            break;  
        case 2:  
     music = sp.load(this, R.raw.i, 1);
     sp.play(music, 1, 1, 0, 0, 1);
            break;  
        case 3:  
     music = sp.load(this, R.raw.u, 1); 
     sp.play(music, 1, 1, 0, 0, 1);
            break;  
        default :  
            break;  
        }  
  
    }  
之前是单个监听,音乐播放正常,代码如下:
private void init() {
// TODO Auto-generated method stub
btn = (Button) findViewById(R.id.bta);
sp = new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music = sp.load(this, R.raw.a, 1); 
btn.setOnClickListener(listener);
}
private OnClickListener listener = new OnClickListener() {
public void onClick(View arg0) {
sp.play(music, 1, 1, 0, 0, 1); }
};