我是初学者,想做个小程序,很简单只有三个按钮,点击每个按钮就播放一段声音。
以下是我的程序,其中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); }
};
以下是我的程序,其中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); }
};
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货