メディア プレーヤーのデータ ソースを動的に設定する最善の方法は何だろうか?私は、再生可能なさまざまな mp3 ファイルでいっぱいのスピナーを持っており (現在は約 9 つ)、サウンドを再生する時間を選択するラジオグループも持っています。再生されます (4 つの可能な時間オプション)。
とにかく、多くのスイッチを配置するのではなく、これをより効率的にする方法はありますか.
s1.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
int index = arg0.getSelectedItemPosition();
switch(index)
{
case 0: //would be 9 of these, represents the song choices
final MediaPlayer md = MediaPlayer.create(MainActivity.this, R.raw.song);
int id = rg.getCheckedRadioButtonId();
switch(id)
{
case R.id.radio0: // 4 of these for each song, representing play length
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (md.isPlaying()) {
md.pause();
btn.setText("Paused");
}
else {
md.start();
md.setLooping(true);
btn.setText("Playing");
}
}});
break;
}
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});