按钮和声音?
问题描述:
我试图让mediaplayer,我的问题是如何设置声音停止,当你点击下一个声音按钮。现在,如果我点击声音按钮,它的工作原理,但如果我点击一个新的声音,它的作品,但第一个不停止。按钮和声音?
这里是我的代码:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick(View v){}
public void btn1 (View v){
MediaPlayer mp = MediaPlayer.create(this, R.raw.est1);
mp.start();
}
public void btn2 (View v){
MediaPlayer mp = MediaPlayer.create(this, R.raw.ast2);
mp.start();
}
public void btn3 (View v){
MediaPlayer mp = MediaPlayer.create(this, R.raw.dst3);
mp.start();
}
public void btn4 (View v){
MediaPlayer mp = MediaPlayer.create(this, R.raw.gstd4);
mp.start();
}
public void btn5 (View v){
MediaPlayer mp = MediaPlayer.create(this, R.raw.bstd5);
mp.start();
}
public void btn6 (View v){
MediaPlayer mp = MediaPlayer.create(this, R.raw.estd6);
mp.start();
}
}
答
我建议你只使用一个MediaPlayer的,你可以重置和重用。
public class MainActivity extends ActionBarActivity {
private MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mp = new MediaPlayer();
}
public void btn1 (View v){
mp.release();
mp = MediaPlayer.create(this, R.raw.est1);
mp.start();
}
public void btn2 (View v){
mp.release();
mp = MediaPlayer.create(this, R.raw.est1);
mp.start();
}
@Override
public void onDestroy() {
mp.release();
}
}
答
的问题是,你有6个不同的MediaPlayers。 您必须暂停所有媒体播放器,然后启动当前播放器。
答
你有没有试过mp.stop();
这应该停止第一声
public void btn5 (View v){
mp.stop();
MediaPlayer mp = MediaPlayer.create(this, R.raw.bstd5);
mp.start();
}
喜欢这里: http://developer.android.com/reference/android/media/MediaPlayer.html
非常感谢!解决我的问题:) – 2014-08-27 15:15:41