私は5曲の音楽プレイリストを持っています。私はちょうどその遊びと停止ボタンがアプリ内の限り動作するようにしたい。そして、私は音楽を止めて、私が他の曲をやりたいときに止めることができます。Android Media Playerは、停止後に再生されません。
これは現在動作しています...音楽はPLAYボタンで再生され、STOPボタンをクリックすると停止しますが、他の曲や同じ曲をもう一度再生したい場合は何も起こりません。助けてください。
public class glavna extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final MediaPlayer MPRadio1 = MediaPlayer.create(this, R.raw.pj1);
final MediaPlayer MPRadio2 = MediaPlayer.create(this, R.raw.pj2);
final MediaPlayer MPRadio3 = MediaPlayer.create(this, R.raw.pj3);
final MediaPlayer MPRadio4 = MediaPlayer.create(this, R.raw.pj4);
final MediaPlayer MPRadio5 = MediaPlayer.create(this, R.raw.pj5);
final RadioButton rb1, rb2, rb3, rb4, rb5;
rb1 = (RadioButton) findViewById(R.id.radio1);
rb2 = (RadioButton) findViewById(R.id.radio2);
rb3 = (RadioButton) findViewById(R.id.radio3);
rb4 = (RadioButton) findViewById(R.id.radio4);
rb5 = (RadioButton) findViewById(R.id.radio5);
Button btn = (Button) findViewById(R.id.buttonplay);
Button btnStop = (Button) findViewById(R.id.buttonStop);
btnStop.setOnClickListener(new View.OnClickListener() {
public void onClick(View b){
MPRadio1.stop();
MPRadio2.stop();
MPRadio3.stop();
MPRadio4.stop();
MPRadio5.stop();
};
});
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(rb1.isChecked())
{
MPRadio1.start();
}
else
{
if(rb2.isChecked())
{
MPRadio2.start();
}
else
{
if(rb3.isChecked())
{
MPRadio3.start();
}
else
{
if(rb4.isChecked())
{
MPRadio4.start();
}
else
{
if(rb5.isChecked())
{
MPRadio5.start();
}
}
}
}
};
}
}
);}}
私はこれが正しいと確信しているが、文書で提示状態図は、この主張をサポートしていないようです。MediaPlayerのAPIは不十分一般的に設計されたように私は感じる。 – IcedDante