我想知道动态设置媒体播放器数据源的最佳方法是什么?我有一个可以播放不同 mp3 文件的微调器(目前大约 9 个左右),我还有一个无线电组可以选择声音的时间播放(4 个可能的时间选项)。
有没有办法让这更有效,而不是设置很多开关,9 首歌曲可能会被选择(一次一首)并以 4 种不同的长度播放,只是拥有所有这些 switch 语句似乎很笨拙。
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
}
});