我正在创建一个包含2个按钮的Android应用程序,点击每个按钮会播放mp3文件。
问题在于当我点击
我检查了每个按钮上的另一个播放器是否正常工作,并停止它并播放所点击的按钮。
但是,如果我连续两次单击同一按钮,则第一个音频将在后台继续播放,并再次播放另一个音频。
我尝试检查
我希望如果我单击
我的代码:
button1
时,它会播放sound1
,当我点击button2
时,它会播放sound2
。我检查了每个按钮上的另一个播放器是否正常工作,并停止它并播放所点击的按钮。
但是,如果我连续两次单击同一按钮,则第一个音频将在后台继续播放,并再次播放另一个音频。
我尝试检查
isPlaying()
并停止它,但不起作用!我希望如果我单击
button1
,它会播放sound1
,如果再次单击它,它会停止并重新从头开始播放。我的代码:
package com.hamoosh.playaudio;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class PlayaudioActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b= (Button) findViewById(R.id.button1);
Button b2= (Button) findViewById(R.id.button2);
final TextView t= (TextView) findViewById(R.id.textView1);
final MediaPlayer mp = MediaPlayer.create(PlayaudioActivity.this, R.raw.far);
final MediaPlayer mp1 = MediaPlayer.create(PlayaudioActivity.this, R.raw.beet);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp1.isPlaying()) {
mp1.stop();
}
mp.start();
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp.isPlaying()) {
mp.stop();
}
mp1.start();
}
});
}
}
希望有更好的代码可以使用多个按钮作为数组或类似的东西,以免每次都要检查每个按钮和玩家。