私は 2 つのボタンを含む Android アプリケーションを作成しています。各ボタンをクリックすると、mp3 ファイルが再生されます。問題は、再生するbutton1
と再生されsound1
、クリックbutton2
すると再生されますsound2
。
他のプレーヤーの各ボタンが機能しているかどうかを確認し、停止してクリックしたボタンを再生します
しかし、同じボタンを2回クリックすると、最初のオーディオをバックグラウンドで再生し続け、別のオーディオをもう一度再生します
確認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();
}
});
}
}
複数のボタンを配列または何かとして使用して、各ボタンとプレーヤーを毎回チェックしないようにするより良いコードがあるかどうかを願っています。